我正在用React構建一個基本的博客應用程序。我正在使用Jasmine和Karma來運行我的前端測試。我得到了我的第一次測試啓動和運行,並將其傳遞在Chrome(鉻)和Firefox,但是當它運行在PhantomJS我得到以下錯誤:茉莉花測試通過Chrome和Firefox,但失敗PhantomJS
PhantomJS 1.9.8 (Linux 0.0.0) ERROR
TypeError: 'undefined' is not a function (evaluating 'ReactElementValidator.createElement.bind(
null,
type
)')
at /home/michael/repository/short-stories/test/karma_tests/story_test.js:1742
我的測試文件看起來像這樣:
var React = require('react/addons');
var Story = require('../../app/js/components/story.jsx');
var TestUtils = React.addons.TestUtils;
var testUtilsAdditions = require('react-testutils-additions');
describe('Story component', function() {
var component;
beforeEach(function() {
component = TestUtils.renderIntoDocument(React.createElement('story'));
component.props.storyTitle = 'front end test title';
component.props.author = 'front end author';
component.props.storyText = 'front end story text';
});
it('should display a story', function() {
expect(component.props).toBeDefined();
expect(component.props.storyTitle).toBeDefined();
expect(component.props.storyTitle).toBe('front end test title');
expect(component.props.author).toBe('front end author');
expect(component.props.storyText).toBe('front end story text')
});
});
我嘗試刪除我的node_modules,並且npm緩存清除和npm安裝,但是它沒有修復它。我不確定我的測試如何在Firefox和Chrome中傳遞,但不在PhantomJS中傳遞。你可以在這裏看到完整的項目:https://github.com/mrbgit/short-stories。如果有更多信息可以幫助,請告訴我。任何幫助表示讚賞。謝謝!
謝謝ssube,修復它! – CascadiaJS