Tôi đang cố gắng sử dụng jest-cli để kiểm tra xem một trong những thành phần phản ứng có chứa một thành phần khác trong đầu ra của nó hay không. Tôi đang gặp khó khăn trong việc tìm ra cách để làm điều này.Làm thế nào để kiểm tra xem một thành phần React có chứa một thành phần khác với jest không?
Dưới đây là các thành phần của tôi:
DesignerPage Component
[...]
var TopBar = require('../components/layout/TopBar.js');
var DesignerPage = React.createClass({
getInitialState: function() {
var state = {
};
return state;
},
render: function() {
return (
<div>
<TopBar />
</div>
)
}
});
module.exports = DesignerPage;
TopBar Component
/** @jsx React.DOM */
var React = require("react");
var TopBar = React.createClass({
render: function() {
return (
<nav className="top-bar">
</nav>
);
}
});
module.exports = TopBar;
Bây giờ, tôi muốn kiểm tra xem các thành phần DesignerPage chứa các thành phần TopBar. Dưới đây là những gì tôi nghĩ nên làm việc:
/** @jsx React.DOM */
jest.dontMock('../../src/js/pages/DesignerPage.js');
describe('DesignerPage', function() {
it('should contain a TopBar', function() {
var React = require('react/addons');
var DesignerPage = require('../../src/js/pages/DesignerPage.js');
var TestUtils = React.addons.TestUtils;
// Render a DesignerPage into the document
var page = TestUtils.renderIntoDocument(
<DesignerPage />
);
// Verify that a TopBar is included
var topbar = TestUtils.scryRenderedComponentsWithType(page, 'TopBar');
expect(topbar.length).toBe(1);
});
});
Nhưng nó không vượt qua ... :(
$ ./node_modules/jest-cli/bin/jest.js DesignerPage
Found 1 matching test...
FAIL __tests__/pages/DesignerPage-test.js (4.175s)
● DesignerPage › it should contain a TopBar
- Expected: 0 toBe: 1
at Spec.<anonymous> (__tests__/pages/DesignerPage-test.js:16:27)
at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
1 test failed, 0 test passed (1 total)
Run time: 6.462s
Tôi chưa sử dụng JEST nhưng tôi không thấy bất kỳ vấn đề rõ ràng nào ở đây. Từ việc đọc tài liệu, có vẻ như bạn đang làm đúng cách. Chỉ cần nghĩ rằng tôi muốn đề cập rằng kể từ khi bạn không nhận được nhiều lưu lượng truy cập ở đây. –