Câu trả lời cho this question không trả lời được câu hỏi của tôi.Tải phụ thuộc bên ngoài thư mục dự án trong Intern
Tôi muốn tải các phụ thuộc từ bên ngoài gốc dự án của mình bằng cách sử dụng Intern làm khung kiểm tra của tôi. Tôi hiện đang làm việc với cấu trúc thư mục sau:
www/
project1/
app/
lib/
project2/
app/
lib/
intern-tests/
node_modules/
tests/
functional/
project1-tests/
project2-tests/
unit/
project1-tests/
project2-tests/
intern.js
Gruntfile.js
Như bạn thấy, tôi đang làm cho intern-tests
dự án riêng của mình, và muốn thư mục này để giữ tất cả thử nghiệm của tôi cho tất cả các dự án của tôi. Tôi đã thiết lập Gruntfile của mình để thực hiện các kiểm tra với thư viện exec grunt chuyển đổi lệnh grunt projectName
thành grunt test --project=projectName
. Tất cả đều hoạt động tốt, nhưng kiểm tra đơn vị của tôi không thể tải các phụ thuộc trong các thư mục project1/
và project2/
.
Ví dụ, đây là một trong các bài kiểm tra đơn vị của tôi:
define([
'intern!object',
'intern/chai!assert',
'jquery',
'../../../../project2/lib/js/var/document',
'../../../../project2/lib/js/exports/file/functions/resizeInput'
], function(registerSuite, assert, $, document, resizeInput) {
registerSuite({
name: 'functions',
resizeInput: function() {
var $input = $(document.createElement('input'));
resizeInput($input, 8, 20, 450, 200);
assert.equal($input.width(), 450);
}
});
});
và chạy thử nghiệm cung cấp cho tôi những lỗi sau:
SUITE ERROR
Error: Failed to load module ../project2/lib/js/var/document from
project2/lib/js/var/document.js (parent: tests/unit/project2/functions)
at HTMLScriptElement.handler <__intern\node_modules\dojo\loader.js:517:27>
Làm thế nào tôi có thể bao gồm những tập tin bên ngoài từ các dự án khác của tôi ?
Bạn đã xem là làm cho những dự án submodules khác dự án thử nghiệm thực tập hoặc điều đó chỉ làm cho quy mô dự án thử nghiệm thực tập của bạn quá lớn? – Richard
@Richard cách mọi thứ được cấu trúc, chúng cần phải là các dự án riêng biệt (nếu không tôi chỉ muốn chuyển các bài kiểm tra thực tập của tôi Gruntfile vào thư mục 'www'). – jperezov