1
我想为反应组件中的方法编写单元测试。我想在不渲染组件的情况下执行此操作。这是因为我不想设置完整渲染所需的全部数据。我想要做这样的事情:React中的单元测试非静态方法
describe('MyList', function() {
describe('fooSort', function() {
it('sort strings', function() {
var list = <MyList />;
var result = list.fooSort(['a', 'c', 'b'])
expect(result).to.be.equal(['a', 'b', 'c'])
});
});
});
这可以通过添加fooSort作为一个静态方法来实现,但是,这将使它不可能的方法来访问此。它也不舒服。
有没有办法访问这些方法,或者是否有其他方法来做这种测试?
我知道这个帖子是类似于:How do I access methods in React for unit testing但不是真的一样。
为什么你不想使用React的TestUtils?这将允许您呈现组件并测试一个方法,因为TestUtils.renderIntoDocument将返回组件的一个实例,您的'fooSort()'可用。 – 2015-02-10 13:44:30
因为我的渲染函数需要一些强制道具,如果它们没有通过就会失败。所以我想避免使用render方法来避免在道具中创建需要的数据。但如果渲染是唯一的方法,我会去寻求你的建议。 – 2015-02-10 14:08:51
看起来像一个小的代价,国际海事组织,生成一些适当的装置,你设置 - 你可能会需要它反正。 – 2015-02-10 14:12:31