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