我试图表达如下内容:
it("should use the 'text' mode", () => {
let usedMockMode = false;
let env = new Environment();
let mockMode = { parse: () => usedMockMode = true };
env.modes.set("text", mockMode);
return env.parseContent("foo", "text")
.should.eventually.be.true(() => usedMockMode);
// ^--------------------------^
// Pseudo-code
})
有没有办法实现这个目标?
答案 0 :(得分:0)
我手边没有新节点和摩卡。但它也应该用箭头。
describe('promise fn', function(){
it('should fullfill a promise', function(done){
…
return env.parseContent('foo', 'bar').then(function(){
(usedMockMode).should.be.true})
.finally(done);
});
})
答案 1 :(得分:0)
经过一些反复试验,我最终发现以下情况有效:
it("should use the 'text' mode", () => {
let usedMockMode = false;
let env = new Environment();
let mockMode = { parse: () => usedMockMode = true };
env.modes.set("text", mockMode);
return env.parseContent("foo", "text")
.then(() => {
usedMockMode.should.be.true();
});
})
这对我来说似乎并不直观,因为幕后显然有一些魔法将断言绑定到测试的上下文。