Изменить (02.07.2015)
Выяснил, что я делаю не так. Оставив это для справки, если кто-то наткнется на ту же проблему. Проверьте мой ответ ниже.
В настоящее время я пытаюсь протестировать свои компоненты Node.js + React с помощью Jest. Я установил jest-cli и создал задачу в своем gulpfile для запуска «теста npm».
Я как-то следовал инструкциям, найденным здесь: http://www.undefinednull.com/2015/05/03/react-tdd-example-unit-testing-and-building-a-react-component-with-jest-gulp-and-react-test-utils/
И пошел в репозиторий проекта git, чтобы найти, как настроить некоторые другие вещи.
Однако, когда я запускаю команду «gulp test», по-видимому, все, что я получаю, — это проверка кода eslint. Я не думаю, что мои тесты вообще работают.
моя соответствующая структура папок выглядит следующим образом:
/__tests__
searchComponent-spec.js
/src
/components
/Search
Search.js
package.json
gulpfile.babel.js
есть много других вещей, но я не верю, что они актуальны.
Мой Search.js
/*! React Starter Kit | MIT License | http://www.reactstarterkit.com/ */
import React, { PropTypes } from 'react';
import styles from './Search.less';
import withStyles from '../../decorators/withStyles';
import Link from '../../utils/Link';
@withStyles(styles)
class Search {
static contextTypes = {
onSetTitle: PropTypes.func.isRequired
};
render() {
let title = 'Pesquisa de desenvolvedores';
this.context.onSetTitle(title);
return (
<div className="Search">
<div className="Search-container">
<a className="Search-brand" href="/" onClick={Link.handleClick}>
<span className="Search-brandTxt">Dev-Shop</span>
</a>
<div className="Search-banner">
<h1 className="Search-bannerTitle">Loja de desenvolvedores</h1>
</div>
</div>
</div>
);
}
}
export default Search;
Мой searchComponent-spec.js:
/**
* Created by urielbertoche on 02/07/15.
*/
"use strict";
jest.dontMock('../src/components/Search/Search.js');
describe('Search', function () {
var React = require('react/addons');
var TestUtils = React.addons.TestUtils;
var Search;
beforeSearch(function () {
Search = require('../src/components/Search');
});
it('should exists', function () {
// Render into document
var search = TestUtils.renderIntoDocument(<Search />);
expect(TestUtils.isCompositeComponent(search)).toBeTruthy();
});
});
кто-нибудь понял, почему мои тесты могут не работать? Большое спасибо