在Mocha上测试-在“期望字符串”上测试失败,但是我的对象有效地返回了一个字符串

时间:2018-07-21 20:04:00

标签: javascript mocha

我在摩卡咖啡上工作。我的变量返回一个:

let datestring = new Date().toLocaleString();

这里是我的测试对象:

const generateMessage =  (from, text) => { 
    return { 
        from,
        text, 
        datestring
    }
}

这里是测试:

const expect = require("expect");

let {generateMessage} = require("./message")

describe("generateMessage", () => { 
    it("should generate correct message object", () => { 

        let from="Jen";
        let text= "Some message"; 
        let message = generateMessage(from, text);

        console.log(message)
        expect(message.datestring).toBe("string")
        expect(message).toInclude({ 
            from,
            text
        });    
    });
});

返回:

  

generateMessage {来自:“ Jen”,文本:“ Some message”,日期字符串:   '2018年7月21日,下午9:57:31'}       1)应该生成正确的消息对象

     

0次通过(27ms)1次失败

     

1)generateMessage          应该生成正确的消息对象:        错误:expect(receive).toBe(expected)// Object.is相等

     

预期:“字符串”

     

收到:“ 2018/7/21,9:57:31 PM”         在Context.it(server / unit / message.test.js:13:36)

由于有效返回字符串,测试有可能失败吗?

谢谢

1 个答案:

答案 0 :(得分:0)

另一种可能的测试方法是使用<select [(ngModel)]="selectedName"> <option *ngFor="let cmd of cmdJson" [value]="cmd "> {{cmd}} </option> </select> ,因此我们可以模拟日期并比较值。

sinon.useFakeTimers

参考: http://sinonjs.org/releases/v6.1.4/fake-timers/