【发布时间】:2014-07-24 05:22:08
【问题描述】:
我是 Haxe 的初学者。我尝试做 FizzBuzz TDD。我使用了 Mocha 和 expect.js。
我通过@:expose("SomeName") 公开了 Haxe 类,以便能够从测试中看到。
但是,测试找不到 FizzBuzz 类。
FizzBuzz.hx
package ;
@:expose("SomeName")
class FizzBuzz{
public function new() {
}
public function put(n : Int) : String {
if (n == 3) {
return "Fizz";
}
else {
return Std.string(n);
}
}
}
Main.hx
package ;
import js.Lib;
class Main {
static function main() {
var f = new FizzBuzz();
for (i in 1...100) {
f.put(i);
}
}
}
fizzbuzz.js
(function ($hx_exports) { "use strict";
var FizzBuzz = $hx_exports.SomeName = function() {
};
FizzBuzz.prototype = {
put: function(n) {
if(n == 3) return "Fizz"; else if(n == null) return "null"; else return "" + n;
}
};
var Main = function() { };
Main.main = function() {
var f = new FizzBuzz();
var _g = 1;
while(_g < 100) {
var i = _g++;
f.put(i);
}
};
Main.main();
})(typeof window != "undefined" ? window : exports);
fizzbuzztest.coffee
expect = require 'expect.js'
fizzbuzz = require '../bin/fizzbuzz.js'
describe 'fizzbuzz', ->
it 'put Fizz when 3 is given', ->
f = new SomeName()
result = f.put(3)
expect(result).to.be(3)
错误信息
fizzbuzz put Fizz when 3 is given
✘ failed
ReferenceError: SomeName is not defined
如何从测试代码中找到 FizzBuzz 类?感谢您的帮助。
【问题讨论】:
-
这不能回答您的问题,但更直接的方法可能是使用本机 Haxe BDD 库。到目前为止,我非常喜欢一个名为“Buddy”的新名称:github.com/ciscoheat/buddy
标签: javascript coffeescript tdd mocha.js haxe