Я использую Jest, и у меня есть такой компонент, как:
var TestClass = react.createClass({
foo: function() {
return "test";
},
render: function() {
return <div />;
}
});
И я хочу написать модульный тест специально для метода TestClass
' foo
.
Я видел, что вызов метода компонента React извне предполагает, что это должно быть возможно - просто визуализируйте компонент в тесте и вызовите его:
describe("TestClass", function() {
it("should access internal methods", function() {
var test = <TestClass />
expect(test.foo()).toBeTruthy()
}
});
Из ответа на этот вопрос я ожидаю, что этот тест пройдет, но вместо этого:
test.foo не является функцией
Я неправильно понял этот ответ?
В общем, я бы предпочел иметь возможность тестировать методы, не связанные с жизненным циклом, таким образом - это дало бы лучшую детализацию, но если это невозможно, есть ли разумная альтернатива?
Например, как можно протестировать метод, переданный в качестве реквизита дочернему компоненту, без этой возможности?
test
в вашем тесте не является экземпляром класса, а просто отображаемым компонентом (или чем-то еще, что возвращает.renderIntoDocument
). - person Christian Gill   schedule 30.03.2016