我跟着CasperJS's documentation关于在主Casper测试文件中包含.coffee
个文件。我的代码如下所示:
家/测试/ my_test_file.coffee:
parameters = require('../parameters')
casper.test.begin "Test ", (test) ->
home_page = parameters.root_path
page_to_test = home_page + "my_page_to_test"
casper.start page_to_test, ->
test.assertEquals @getCurrentUrl(), page_to_test
casper.run ->
test.done()
家/ parameters.coffee:
require = patchRequire global.require
root_path = "http://localhost:1080/"
my_page = "foo"
other_param = "bar"
exports = ->
{
'root_path': root_path,
'my_page': my_page,
'other_param': other_param
}
但是,Casper一直告诉我page_to_test
中my_test_file.coffee
未定义。
答案 0 :(得分:1)
这不正确使用exports
。首先,您不需要此处的函数,因为您可以直接访问返回对象的属性。第二,你无法直接向exports
分配内容。这是module.exports
的用途。
module.exports = {
'root_path': root_path,
'my_page': my_page,
'other_param': other_param
}
或
exports.root_path = root_path
exports.my_page = my_page
exports.other_param = other_param
通过将对象分配给exports
(exports = obj
),您将覆盖执行实际导出的对象,并且不会导出任何内容。