小编Kus*_*ngh的帖子

我可以将 Jest Mocks 放在不同的文件中并将其导入到我的测试文件中吗?

我的文件中有一个自定义 Hook,我必须经常模拟它以进行多个测试。我可以将模拟放在单独的文件中,然后将其导入到测试中吗?

挂钩文件

export default function myHook(key) {
    const { state, app } = StateFromSomePlace();

    const setParameter = useCallback(
        newValue => {
            // do something
        },
        [app, key, state.something]
    );

    if (key) {
       // do something
        const parameter = // something;
        return [parameter, setParameter];
    }
}

Run Code Online (Sandbox Code Playgroud)

我想使用 jest 来模拟上面的内容以返回一些东西(我可以),但我想在助手/设置文件中这样做,这样我就可以通过导入模拟来在多个测试中使用它。

我在这里先向您的帮助表示感谢。:)

javascript reactjs jestjs react-hooks react-testing

6
推荐指数
0
解决办法
2869
查看次数

如何测试注入 Koin 的 viewModel?

我有一个视图模型。它调用我的数据存储库中的函数并返回狗对象的列表。

class MainViewModel() : ViewModel() {
    private val dataRepo: DataRepo by inject(DataRepo::class.java) //dataRepo
    private var limit = 10
    private val _dogListLiveData = MutableLiveData<List<Dog>>()
    private var dogList = mutableListOf<Dog>()

    val dogListLiveData: MutableLiveData<List<Dog>>
        get() = _dogListLiveData

    fun searchByBreed(queryText: String) {
        dataRepo.searchByBreed(
            queryText,
            object : DataSource.OnResponseCallback<List<Dog>, String> {
                override fun onSuccess(obj: List<Dog>?) {
                    dogList = mutableListOf()
                    if(!obj.isNullOrEmpty()){
                    dogList.addAll(obj)
                    dogListLiveData.value = dogList.take(limit)
                    }

                }

                override fun onError(error: String) {
                    Log.i("Calling Network Service", error)
                }
            })

    }

    fun loadPaginateBreed() : Boolean{
        return if ((limit+10) < …
Run Code Online (Sandbox Code Playgroud)

java android kotlin android-viewmodel koin

5
推荐指数
1
解决办法
3583
查看次数