为什么Jest的这个字符串比较期望不会失败?

时间:2015-02-02 17:27:35

标签: javascript unit-testing reactjs jestjs

我正在使用ReactJSJest开始我的第一步。

下面的预期通过,即使它不应该。了解该物业的印刷方式:

console.log(searchBox.props.url_variation); 
// prints: curation/get_site_variations/

那为什么期望没有失败?

jest.dontMock('../databank_web/static/js/curation_tools/SearchBox.js');

describe('SearchBox', function () {
    it('loads results after click', function () {
        var React = require('react/addons');
        var TestUtils = React.addons.TestUtils;
        var SearchBox = require('../databank_web/static/js/curation_tools/SearchBox.js');

        // Render the form?
        var searchBox = TestUtils.renderIntoDocument(<SearchBox
            url_variation="curation/get_site_variations/"
            url_golden="curation/golden_record/"/>);


        console.log(searchBox.props.url_variation); // prints: curation/get_site_variations/

        expect(searchBox.props.url_variation === "fail");
// Why is this passing? fail is not equal to 'curation/get_site_variations/'

    });
});

1 个答案:

答案 0 :(得分:0)

将您的期望改为:

expect(searchBox.props.url_variation).toEqual("fail")

这将导致测试失败。传递的原因是expect(false)不会导致测试失败。我相信这种行为实际上是从Jasmine继承而来的,只有期望才能充当价值观。链式匹配器是导致测试通过或失败的原因。