似乎我应该第二次的内容补上,只是不知道写什么了,也就没有必要写了,不过这次算是有必要了。看了一些敏捷开发的书,在想是不是也有Javascript也要有个测试框架,也会有类似于Ruby的Rspec,java的Junit。 不过,似乎我印象里有个Qunit,和jQuery是一家子的,这个留给过些时候学吧,因为今天讲到了Jasmine和RSpec和有点像。
来些Rspec的测试代码吧
describe LedStatus do
let(:ledstatus){LedStatus.new()}
describe "Observable" do
it "Should have a result" do
led=Led.new
end
end
end
我似乎把代码写得有点不理想了,但是这个不是很重要,应该不是很重要。。似乎真的不是很重要。。
测试一下
rspec --format d
会有如下结果:
LedStatus
Observable
Should have a result
Finished in 0.00065 seconds
1 example, 0 failures
然后,我们先看看jasmine的测试结果
Jasmine2.0.0 finished in 0.003s
1 spec, 0 failures Add function should be return
对了,忘了说一下Jasmine的测试
Jasmine is a behavior-driven development framework for testing JavaScript code. It does not depend on any other JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests.
似乎这个是BDD,不过已经无关紧要了,因为Rspec也是,似乎我没有理解好。
官网地址 http://pivotal.github.io/jasmine/
直接下载官方的示例我们可以看到我们的运行结果。
接着我们创建一下简单的add函数,这个是直接从课堂上拉过来的。。
describe("Add function", function() {
it("should be return", function() {
var result=add(1,2);
expect(result).toEqual(3);
});
});
SimpleSpec.js的内容
下面是Simple.js的代码
function add(num1,num2) {
return num1+num2;
}
似乎很简单明了,再打开浏览器就可以看到结果了。。
呼呼,这就是Javascript的TDD。。
原来道路一直很长,只是不会再那么艰辛。
似乎今天在讲最小物联网系统的时候没有讲好,部分原因是因为自己有些紧张,只是讲的时候似乎就没有紧张,但是就一直讲了下去。。用TWer的话来说的话,就是今天很赞。
围观我的Github Idea墙, 也许,你会遇到心仪的项目