我正在嘗試更改陣列(過濾掉值)。我正在過濾掉函式內部的陣列值,陣列會自行改變,但測驗用例中的陣列保持不變。該專案是用 Typescript 撰寫的,并使用 Mocha 進行了測驗。
我一直在嘗試從陣列中過濾掉值 ['.jgp', '.png]。記錄值顯示,該功能正常作業。
import 'mocha';
import { expect } from "chai";
import Filter from "../src/Filter";
let filter = new Filter("Websites Filter");
describe("Filter", function () {
describe("filterOut", () =\> {
it("Should return array as specified conditions says", function () {
let png_jpg_filter = function(el){
return !el.endsWith(".png") && !el.endsWith(".jpg");
};
filter.addFilter("png_jpg_filter", png_jpg_filter);
let arrToFilter = [".png", ".jpg", ".gif"]; // < this Array
filter.filterOut(arrToFilter); // <- this Function
expect(arrToFilter).equals([".gif"]);
});
});
});
filterOut(toFilterOut: Array<string>): void{
this.filterCallbacks.forEach(callback => {
toFilterOut = toFilterOut.filter(el => callback(el))
})
console.log("filtered out:");
console.log(typeof toFilterOut);
console.log(toFilterOut);
}
和測驗答案:
filtered out:
object
\[ '.gif' \] \< After Filtering
1) Should return array as specified conditions says
1 passing (37ms)
1 failing
1) Filter
filterOut
Should return array as specified conditions says:
AssertionError: expected \[ Array(4) \] to equal \[ '.gif' \]
expected - actual
\[
- ".png"
- ".jpg"
".gif"
\]
uj5u.com熱心網友回復:
我找到了我的問題的答案。當我在函式內部進行分配時,創建了新的參考。更好的描述:
https://medium.com/@naveenkarippai/learning-how-references-work-in-javascript-a066a4e15600
在“當值作為函式引數傳遞時,參考如何作業?”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/526736.html
標籤:数组单元测试测试mocha.jsjavascript 对象
