Tôi đã viết một chức năng toàn cầu đòi hỏi phải có một số tập tin của ứng dụng của tôi/khung:công trình require.main.require nhưng không phải bên Mocha kiểm tra
global.coRequireModel = function(name) {
// CRASH happens here
return require.main.require('./api/_co' + name + '/_co' + name + '.model');
}
Module này là trong/components/coGlobalFunctions.
Nó là cần thiết trong ứng dụng chính của tôi app.js như thế này:
require('./components/coGlobalFunctions');
Sau đó, trong các module khác sử dụng "cái gì đó" từ khuôn khổ tôi sử dụng:
var baseScheme = coRequireModel('Base');
này hoạt động nhưng không có trong các bài kiểm tra Mocha cung cấp cho tôi một "Lỗi: Không thể tìm thấy mô-đun" ngay trước cuộc gọi require.main.require.
Dường như thử nghiệm đến từ một thư mục nguồn khác. Nhưng tôi nghĩ rằng require.main.require sẽ đưa ra khía cạnh của việc phải tương đối liên kết với các mô-đun.
EDIT:
Một ví dụ tập tin thử nghiệm sống trong api/user:
var should = require('should');
var app = require('../../app');
var User = require('./user.model');
...
tìm thấy một workaround cho điều này? có thể đặt mô-đun trong thử nghiệm? – Chathushka