在我的服务器端文件中,我定义了两个函数,我想编写测试用例,这些测试用例位于tests目录中的一个文件中。
〜PRJ_DIR /服务器/ file1.coffee
calcSha1Hash = (params) ->
.... logic...
anotherFunc = () ->
..somelogic..
x = calcSha1Hash(params)
〜PRJ_DIR /测试/服务器/ file1.coffee
MochaWeb?.testOnly () ->
describe.only("Hash generation. ", () ->
it(" calcSha1Hash returns Hash.", (dn) ->
dataDict = {email: 'johndoe@gmail.com'}
hash = calcSha1Hash (dataDict)
chai.assert.isDefined(hash)
dn()
)
)
如何在Meteor的测试用例中调用服务器端func(calcSha1Hash)
答案 0 :(得分:0)
除非有特定于流媒体的方法,否则您可以从How to Unit Test Private Functions in JavaScript
实施解决方案您需要拥有一个全局变量(类似TestAPI
)。然后在闭包内添加函数,以便从任何地方访问它们。
以下是文章中的一个例子:
var myModule = (function() {
function foo() {
// private function `foo` inside closure
return "foo"
}
var api = {
bar: function() {
// public function `bar` returned from closure
return "bar"
}
}
/* test-code */
api._foo = foo
/* end-test-code */
return api
}())
有人可能会有更好的东西,但这是一个开始。