Mat*_*zer 5 javascript testing node.js jasmine es6-modules
借助--experimental-modulesCLI开关(即node --experimental-modules),可以在Node上使用本机ES模块支持来实现基于Node的项目。
显然,当我使用Jasmine运行规范时,出现node --experimental-modules ./node_modules/jasmine/bin/jasmine 以下错误:
错误[ERR_REQUIRE_ESM]:必须使用导入来加载ES模块
是否可以在Node中通过ES模块使用Jasmine?
如果不是,是否有不使用框架的替代方法(例如,使用npm脚本运行测试)?
这比我想的要容易。
这只是关于调用一个文件,您可能会run.mjs如下调用:
node --experimental-modules ./run.mjs
整个文件如下所示:
jasmine.mjs:
import Jasmine from "jasmine"
import JasmineConsoleReporter from "jasmine-console-reporter"
const jasmine = new Jasmine()
jasmine.loadConfigFile( "./support/jasmine.json" )
jasmine.env.clearReporters()
jasmine.addReporter( new JasmineConsoleReporter( {
colors: true,
cleanStack: true,
verbosity: 4,
listStyle: 'indent',
activity: false
} ) )
export default jasmine
Run Code Online (Sandbox Code Playgroud)
您可以在单独的文件中添加以下规范:
import jasmine from './my-project/spec/jasmine.mjs'
jasmine.env.describe('Foo', () => {
jasmine.env.it('Bar', () => {
// Expects, assertions...
})
})
Run Code Online (Sandbox Code Playgroud)
最后,您将同时jasmine导入配置的jasmine实例和规范:
import jasmine from './my-project/spec/jasmine.mjs'
import someSpec1 from './my-project/spec/someSpec1.mjs'
import someSpecN from './my-project/spec/someSpecN.mjs'
someSpec1()
someSpecN()
jasmine.execute()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1130 次 |
| 最近记录: |