我正在使用 jest + 酶设置进行测试。如果定义了窗口,我有有条件地呈现某些东西的函数。
在我的测试套件中,当未定义窗口时,我试图达到第二种情况,但我不能强制它。
it('当窗口未定义时产生一些东西', () => { 窗口 = 未定义; 期望(myFunction()).toEqual(thisWhatIWantOnUndefinedWinow); });
但即使我强制窗口未定义,它也不会达到预期的情况,窗口始终是窗口(jsdom?)
是我的笑话设置有问题还是我应该以另一种方式处理?
我正在使用webpack-dev-server和这个配置:
import webpack from 'webpack';
import autoprefixer from 'autoprefixer';
import ExtractTextPlugin from 'extract-text-webpack-plugin';
import CaseSensitivePathsPlugin from 'case-sensitive-paths-webpack-plugin';
import HtmlWebpackPlugin from 'html-webpack-plugin';
const exports = {
devtool: 'cheap-module-source-map',
entry: {
bundle: `${__dirname}/src/main.ejs`,
commons: [
'lodash',
'webpack-dev-server/client?http://localhost:8090',
'webpack/hot/only-dev-server'
]
},
module: {
rules: [
{
test: /\.(js)?$/,
include: `${__dirname}/src`,
loader: 'babel-loader'
}, {
test: /\.(scss|css)$/,
include: [
`${__dirname}/src`
],
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: ['css-loader', 'postcss-loader', 'sass-loader']
})
}, {
test: /\.(ejs)$/,
include: `${__dirname}/src`,
use: 'ejs-render-loader'
}, {
test: /\.(png|jpg|gif)$/,
include: [ …
Run Code Online (Sandbox Code Playgroud)