我正在使用ReactJS
和Jest
开始我的第一步。
下面的预期通过,即使它不应该。了解该物业的印刷方式:
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/'
});
});
答案 0 :(得分:0)
将您的期望改为:
expect(searchBox.props.url_variation).toEqual("fail")
这将导致测试失败。传递的原因是expect(false)
不会导致测试失败。我相信这种行为实际上是从Jasmine继承而来的,只有期望才能充当价值观。链式匹配器是导致测试通过或失败的原因。