javascript – 在JsTestDriver中设置咖啡脚本单元测试

我正在尝试使用JsTestDriver为CoffeeScript / JavaScript实现一个非常基本的单元测试.我有两个文件:

1.)lib / Greeter.coffee

greet = (name) ->
    "Hello #{name}"

2.)lib / GreeterTest.coffee

tests = {
    "Test 1": -> assertEquals("Hello World!", greet "World")
}

TestCase("Test for introducing the test framework", tests)

我的jsTestDriver.conf用以下行定义了它们的路径: – lib / * .js然而,当执行测试时,我得到:总共0次测试(通过0;失败:0;错误:0)

我确信,可以找到测试,因为插入明显的程序错误会导致检测到具体文件中的错误.同时插入警报调用会导致预期的行为:在捕获的浏览器中,我看到警报消息框

我错过了什么吗?怎么会这样调试?

虽然有以下工作:

TestCase("Test case 1", {

    testGreet: ->
        greeter = new Greeter
        assertEquals("Hello World!", greeter.greet "World")
})

class @Greeter

   constructor: ->

   greet: (name) ->
        return "Hello #{name}!"

如果两个文件都位于同一文件夹中,则可以删除@

解决方法:

看到这个问题:ReferenceError: CoffeeScript + JsTestDriver + Qunit.你有同样的问题,因为greet =定义了一个在Greeter.coffee之外看不到的局部变量.将其更改为window.greet =或@greet =.

但是,这并不能解释Total 0测试问题.我对JsTestDriver并不熟悉,但是在this page,它建议测试名称必须以“test”开头 – 是否可以忽略大写的名称“Test 1”?尝试将其更改为“test1”.

上一篇:javascript – Socket.io在使用命名空间时不发送/接收事件


下一篇:javascript – 使用Backbone.LayoutManager进行Dust.js模板渲染