我使用TypeScript、Mocha (带有mocha-typescript插件)进行测试,使用WebPack在我的应用程序中构建。
最近,我决定将WebPack的DefinePlugin添加到生产和开发环境的单独配置中:
import { AppSettings as DevSettings } from './appSettings.dev'
import { AppSettings as ProdSettings } from './appSettings.prod'
declare var __ENVIRONMENT__: string;
let settings = __ENVIRONMENT__ === 'prod' ? ProdSettings : DevSettings
export let AppSettings = settings;在上面的代码片段中,有一个全局变量__ENVIRONMENT__,它可以帮助选择我想要使用的设置。此变量在webpack.config.js中的定义如下:
module.exports = function(env) {
var config = {
// ...
plugins: [
new ExtendedDefinePlugin({
__ENVIRONMENT__: env === 'prod' ? 'prod' : 'dev',
})
]
// ...
}
return config;
}因此,我将package.json中的测试执行更改为
"test": "webpack --env=dev && mocha --recursive"如果我调用"test",mocha抛出错误(webpack正确构建文件):
ReferenceError: __ENVIRONMENT__ is not defined测试观察器也不会工作:
"test-watch": "mocha-typescript-watch"抛出错误“带%1退出”。
有没有可能把它们放在一起工作?或者我应该使用另一种方法进行测试?
https://stackoverflow.com/questions/44604171
复制相似问题