ThoughtWorks郑大晔校的一天(3)——Javascript的TDD,Jasmine

似乎我应该第二次的内容补上,只是不知道写什么了,也就没有必要写了,不过这次算是有必要了。看了一些敏捷开发的书,在想是不是也有Javascript也要有个测试框架,也会有类似于Ruby的Rspec,java的Junit。
不过,似乎我印象里有个Qunit,和jQuery是一家子的,这个留给过些时候学吧,因为今天讲到了Jasmine和RSpec和有点像。

Rspec以及Jasmine

来些Rspec的测试代码吧
    
    describe LedStatus do
      let(:ledstatus){LedStatus.new()}
    
      describe "Observable" do
        it "Should have a result" do 
          led=Led.new
        end
      end
    
    end
我似乎把代码写得有点不理想了,但是这个不是很重要,应该不是很重要。。似乎真的不是很重要。。 (转载保留  Phodal's Blog   Phodal's  zenthink
测试一下
    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

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。。

总结

原来道路一直很长,只是不会再那么艰辛。

然后在今天的课上讲了一个东东:开源IOT——一个最小的物联网系统设计方案及源码



你可能感兴趣的:(JavaScript,TDD,dd,Jasmine,Thoughtworks,Thoughtworks,郑大晔校)