如何使用Jasmine 2在jasmine.json中设置源文件
我发现Jasmine 2.4的页面testingnode.js文件 ,它甚至提到在spec / support / jasmine.json文件中设置spec 和源文件。 但是在线的例子和 jasmine examples
都没有显示如何告诉茉莉花在哪里find源文件。
所以我不断得到ReferenceErrors,因为它似乎没有阅读我的源文件。 应该指出的是,现在我只是用它来教一些学生关于testing,并使用他们的单一文件玩具项目进行实践。 (就像一个CLI Hang子手游戏那样。)所以现在没有module.exports正在进行,虽然他们的一些项目使用require()
来引入第三方模块。 我一直在使用Karma,直到我意识到这只是为了浏览器的JavaScript,并require
保持失败。
编辑:我刚刚发现这个post基本上是一样的东西,但我不想用咕噜只是让茉莉花读取源文件。 看起来像应该内置的东西,就像Karma要求你的源文件和spec文件在哪里一样。
第二编辑:我不应该把这个放在这里,但是Emarco把我的问题标记为我在上面的第一个编辑中链接的一个副本, 尽pipe我非常具体地解释了为什么另一个post不能回答我的问题。
FWIW我发现列出我的源文件在helpers
列表中的作品..
{ "spec_dir": "spec", "spec_files": [ "fooSpec.js", "barSpec.js" ], "helpers": [ "../src/foo.js", "../src/bar.js" ] }
不幸的是,茉莉花开发者似乎依靠咕噜声或其他工具来使用茉莉花。 正如你已经提到的,让它工作没有咕噜声或业力的唯一方法是使用require.js。
把你的require.js文件放在你的index.html中。
只需要在相应的spec.js文件中包含源文件,如下所示:
//Be careful to choose the right path from the sight of your spec.js var helloworld = require('../src/helloworld'); //the actual filename without '.js'
然后在“helloworld.js”内导出你的脚本,如下所示:
exports.helloWorld = function(){ return "Hello world!"; };
这对我工作…我希望有所帮助,没有find另一种解决scheme。
在你的spec/support/jasmine.json
文件中,你需要有一个spec_dir
和spec_files
属性。
{ "spec_dir": "spec", "spec_files": [ "fooSpec.js", "barSpec.js" ] }
茉莉花将使用spec_dir
作为您的spec_files
项目的前缀并运行testing。 对于fooSpec.js,当你在BASE_DIR项目上运行jasmine
时,testing将运行BASE_DIR/spec/fooSpec.js
和BASE_DIR/spec/barSpec.js