Tôi có một máy chủ tốc độ mà tôi đang thử nghiệm bằng cách sử dụng lời thề. Tôi muốn chạy máy chủ từ bên trong bộ thử nghiệm lời thề, vì vậy tôi không cần phải chạy nó trong nền để bộ thử nghiệm hoạt động, sau đó tôi có thể tạo một tác vụ bánh chạy máy chủ và kiểm tra nó trong cô lập.Cách chính xác để khởi động máy chủ của bạn từ lời thề để thử nghiệm là gì?
Trong server.coffee
Tôi đã tạo ra máy chủ (thể hiện), cấu hình nó, thiết lập các tuyến đường và gọi app.listen (port) như thế này:
# Express - setup
express = require 'express'
app = module.exports = express.createServer()
# Express - configure and set up routes
app.configure ->
app.set 'views', etc....
....
# Express - start
app.listen 3030
Trong đơn giản routes-test.js
của tôi, tôi có:
vows = require('vows'),
assert = require('assert'),
server = require('../app/server/server');
// Create a Test Suite
vows.describe('routes').addBatch({
'GET /' : respondsWith(200),
'GET /401' : respondsWith(401),
'GET /403' : respondsWith(403),
'GET /404' : respondsWith(404),
'GET /500' : respondsWith(500),
'GET /501' : respondsWith(501)
}).export(module);
nơi respondsWith(code)
cũng tương tự như trong chức năng cho một trong doc nguyện ...
Khi tôi require
máy chủ trong abov e kiểm tra, nó sẽ tự động bắt đầu chạy máy chủ và các bài kiểm tra chạy và vượt qua, đó là tuyệt vời, nhưng tôi không cảm thấy như tôi đang làm nó theo cách 'đúng'.
Tôi không có nhiều quyền kiểm soát khi máy chủ bắt đầu và điều gì xảy ra nếu tôi muốn cấu hình máy chủ trỏ đến môi trường 'thử nghiệm' thay vì mặc định, hoặc thay đổi mức ghi mặc định khi thử nghiệm im?
PS Tôi sẽ chuyển đổi lời thề của mình thành Coffeescript nhưng bây giờ tất cả trong js là im trong chế độ học tập từ tài liệu!
Bạn có thể muốn xem [Pact] (http://reid.github.com/pact/) - đó là để kiểm tra các máy chủ HTTP có Vows. – Skilldrick
Cảm ơn Skilldrick, sẽ kiểm tra Pact! – cjroebuck