私は最近、Reduxのを学習し、行動のクリエイターと減速のための冗談Reduxのユニットテスト - レデューサーとアクションクリエイター
イム書き込みテストを使用してTDDプロセスの一環として、ユニットテストを書いています。しかし、私は苦労しています:私は減量のテストでアクションクリエイターを利用することができますか?
import * as types from './../../constants/auth';
import * as actions from './../../actions/auth';
import reducer, {initialState} from './../auth';
私は、これに代えて、この
it('should set isFetching to true',() => {
const expectedState = {
...initialState,
isFetching: true
}
expect(
reducer(initialState, actions.loginPending())
).toEqual(expectedState)
});
を行うことができますか?
it('should set isFetching to true',() => {
const expectedState = {
...initialState,
isFetching: true
}
expect(
reducer(initialState, {type: types.LOGIN_PENDING})
).toEqual(expectedState)
});
公式ドキュメントの使用は、ハードレデューサーテストでアクションをコード化されたので、私はこの疑問に来た:
expect(
reducer([], {
type: types.ADD_TODO,
text: 'Run the tests'
})
).toEqual([{
text: 'Run the tests',
completed: false,
id: 0
}])
私はハードコーディングされたアクションを使用することがベストプラクティスだと思いませんでしょうか?
主にその "メンテナンスコスト"を避けるために、同じ考えを持っていました。しかし、ハードコーディングを宣言すると、それは新しい開発者のために役立ちます。テストが別々に実行されているわけではないので、単にハードコードで実行してください。ありがとう –