gpt4 book ai didi

javascript - 在 JsTestDriver 中设置 CoffeeScript 单元测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:50:32 25 4
gpt4 key购买 nike

我正在尝试使用 JsTestDriverCoffeeScript/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 然而,在执行测试时,我得到:Total 0 tests (通过 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 tests 问题。我对 JsTestDriver 不是很熟悉,但是在 this page 上建议测试名称必须以“test”开头——是否会忽略大写名称“Test 1”?尝试将其更改为 "test1"

关于javascript - 在 JsTestDriver 中设置 CoffeeScript 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8024999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com