2011-01-16 25 views
68

Điều gì được sử dụng cho BDD và TDD với node.js?BDD và TDD cho node.js?

Tôi thường sử dụng Cucumber + RSpec. Một combo tốt cho node.js là gì?

nhờ

Trả lời

58

Cập nhật

Mocha được phiếu bầu của tôi bây giờ!


Bạn có thể xem testing modules section từ trang mô-đun node.js. Ví dụ: Vows là một khuôn khổ BDD khá phổ biến.

Lời thề là một khung phát triển theo hướng hành vi cho Node.js.

+0

'giao diện bdd' Mocha của được khá gần với RSpec, nhưng nó vẫn thiếu' let'/'niceties subject' lười biếng. Tôi đã tạo ra một giao diện riêng cho mocha có tên là 'lazy-bdd' có những bổ sung này: https://www.npmjs.com/package/mocha-lazy-bdd – ghempton

9

Có dự án 'Cung cấp' cho BDD trên Node http://vowsjs.org, trông khá đẹp. Nó hơi khác một chút so với RSpec/Dưa chuột, nhưng nó khá thú vị

15

Nếu bạn quen với rspec, Jasmine là khá hay. Tôi đã không sử dụng nó trên Node.js, nhưng tôi đã sử dụng nó để thử nghiệm một ứng dụng xương sống. Cú pháp của nó rất giống với rspec. Lấy từ các trang web trên:

describe("Jasmine", function() { 
    it("makes testing JavaScript awesome!", function() { 
    expect(yourCode).toBeLotsBetter(); 
    }); 
}); 

Nó được liệt kê trong các liên kết được cung cấp bởi Alfred trên, nhưng kể từ khi folks nguyện liệt kê như là một ví dụ, tôi figured tôi muốn cung cấp cho Jasmine một vết sưng, đặc biệt là kể từ khi nó là cú pháp tương tự như rspec;)

+1

Đó sẽ là nút hoa nhài https://github.com/ mhevery/jasmine-node –

3

có lẽ một chút sau đó, nhưng những gì bạn đang tìm kiếm là kyuri: https://github.com/nodejitsu/kyuri

"kyuri là một thực hiện Dưa chuột Node.js với một vài từ khóa không đồng bộ thêm nó hỗ trợ 160 ngôn ngữ và xuất khẩu sang VowsJS. stubs "

Ngoài ra, nodejitsu dường như đã xây dựng một ứng dụng web để quản lý dự án đặc điểm kỹ thuật Kyuri theo cách cộng tác, nó được đặt tên là "prenup", tôi sẽ cho nó một cái nhìn.

18

Check-out mocha - (github)

Cũng mocha-cakes, nỗ lực của tôi cho dưa chuột cú pháp trên mocha.

+0

Cảm ơn bạn đã đề cập đến bánh mocha! Rất thú vị :) –

+1

Tại sao * nên * Tôi sử dụng cú pháp dưa chuột với mocha _now_? – hellboy

2

Khám phá Buster.JS. Được tạo bởi Christian Johansen, người theo nghĩa đen đã viết the book on javascript testing.

Buster hỗ trợ cả TDD và BDD. Nó kiểm tra trình duyệt với tự động hóa trình duyệt (nghĩ JsTestDriver), kiểm tra trang HTML tĩnh kiểu QUnit, thử nghiệm trong các trình duyệt không đầu (PhantomJS, jsdom), v.v.

1

Gói một (bdd và nhạo báng) https://npmjs.org/package/a

cú pháp Rất nhỏ gọn, bối cảnh tách ra từ hành vi, hành vi thể kết nối. Á hậu dòng Cmd dễ dàng tìm kiếm đệ quy.

3

Bạn cũng có thể thử yadda.Nó cắm vào các thư viện kiểm tra khác bao gồm mocha, jasmine, casper & webdriver, nhưng cũng cho phép bạn viết các tệp tính năng thích hợp thay vì chỉ chú thích bạn kiểm tra tại chỗ. Một thử nghiệm điển hình có thể trông giống như ...

var Yadda = require('yadda'); 
Yadda.plugins.mocha(); 

feature('./features/bottles.feature', function(feature) { 

    var library = require('./bottles-library'); 
    var yadda = new Yadda.Yadda(library); 

    scenarios(feature.scenarios, function(scenario, done) { 
     yadda.yadda(scenario.steps, done); 
    }); 
}); 

Và các tập tin tính năng ...

Feature: Mocha Asynchronous Example 

Scenario: A bottle falls from the wall 

Given 100 green bottles are standing on the wall 
when 1 green bottle accidentally falls 
then there are 99 green bottles standing on the wall 

Và đầu ra ...

Mocha Asynchronous Example 
✓ A bottle falls from the wall 

1 passing (12ms) 
1

Đơn vị kiểm tra: Mocha là rất tốt cho các bài kiểm tra đơn vị.

Kiểm tra BDD Nếu bạn muốn có khung kiểm tra BDD cho Node.js thì tôi khuyên bạn nên sử dụng gói Cucumber.

0

Tôi đã trải qua cùng một mối quan tâm vào tháng trước.

Đối với BDD:

Mặc dù Mocha tự cung cấp BDD phong cách của họ mô tả và nó báo cáo.

Đối với phong cách như dưa chuột, bạn có thể thử:

  • mocha-bánh
  • mocha-Gherkin
  • cucumber.js
  • kyuri
  • mocha-dưa chuột

Tất cả đều có phong cách riêng của họ. Tôi xin lỗi tôi không thể cung cấp đoạn trích công việc ngay bây giờ, hãy cho tôi biết @Donald mà bạn chọn. Muốn biết thông tin chi tiết của bạn.

0

Tôi cũng đang tìm kiếm một thực hiện Gherkin tốt, tìm thấy mocha-cakes/mocha-cakes-2 được đẹp nhưng không phải là rất đầy đủ tính năng. Vì vậy, tôi xây dựng của riêng tôi với mocha làm cơ sở, trong đó có tính chẵn lẻ với ngôn ngữ gherkin bao gồm Outario Outlines. Nó cũng giúp dễ dàng tham khảo dữ liệu trong thử nghiệm của bạn. Nó khác với cucumber.js như tất cả các tệp nội tuyến không tách biệt. Bạn có thể tìm thấy dự án ở đây:

livedoc-mocha