我正在使用笑话+酶设置进行测试。我有一个函数,如果定义了窗口,则有条件地渲染某些东西。
在我的测试套件中,我试图达到第二种情况,现在已经定义了window,但是我不能强制这样做。
it('makes something when window is not defined', () => { window = undefined; expect(myFunction()).toEqual(thisWhatIWantOnUndefinedWinow); });
但是,即使我强制未定义窗口,也无法达到预期的情况,窗口始终是窗口(jsdom?)
我的笑话设置是否有用,还是应该以其他方式处理?
答案 0 :(得分:0)
这是我在选定的 jest 测试期间强迫window
进行不确定的操作。
您可以通过在文件顶部添加@jest-environment node
来强制在某些测试文件中未定义窗口。
test-window-undefined.spec.js
/**
* @jest-environment node
*/
// ^ Must be at top of file
test('use jsdom in this test file', () => {
console.log(window)
// will print 'undefined' as it's in the node environment
});
如果您需要window
对象,只需在顶部删除该语句即可。
答案 1 :(得分:0)
我可以使用以下模式测试未定义 while(fichier){
fichier>>s;
tab[c_lignes][c_colonnes] = s;
c_colonnes++;
if(c_colonnes==(nb_colonnes-1)){
tab[c_lignes][c_colonnes] = s;
c_colonnes = 0;
c_lignes++;
//t.push_back(lignes);
}
}
fichier2.close();
return tab;
的情况。它使您可以在同一文件中运行带有和不带有window
的测试。不需要在文件顶部添加window
。
@jest-environment node