2
저는 node.js를 처음 접했고 비동기식 프레임 워크로 작업 한 지 오래되었습니다.nodejs에서 비동기 호출과 함께 테스트 함수를 재사용하려면 어떻게해야합니까?
: 나는 nodejs/모카 /해야와 비슷한 뭔가를 시도하고있어tests = {
1: [2, 3],
2: [3, 4],
7: [8, 9],
}
for input, expected_out in tests.items():
out = myfunc(input)
assert(out == expected_out)
을 : 절차 적 언어에서 같은 파이썬으로 테스트에 그들을 통해 루프 후 출력을 입력의 목록을 예상하기 쉽습니다
AssertionError: expected [ '11', '12' ] to be [ 2, 3 ]
+ expected - actual
[
+ 2
+ 3
- "11"
- "12"
]
내가 [ '11', '12']에서 오는 아무 생각하지만 스레드 안전 문제가 난다 : 는
var should = require('should');
function myfunc(x, cb) { var y = x + 1; var z = x + 2; cb([y, z]); };
describe('.mymethod()', function() {
this.timeout(10000);
it('should return the correct output given input', function(done) {
var testCases = {
1: [2, 3],
2: [3, 4],
7: [8, 9],
};
for (input in testCases) {
myfunc(input, function (out) {
var ev = testCases[input];
out.should.equal(ev);
});
}
})
})
이 발생합니다.
이 예기치 않은 값이 어디에서 왔는지 설명 할 수 있습니까?
당신은 (배열 비교) .equal 대신 .eql을 사용합니다 (단지 === inside). 그러나 .eql은 깊은 비교를합니다. –