2015-01-03 20 views
8

Khi thử nghiệm đơn vị, tôi có xu hướng có một thư mục có tên là test ở đầu cấu trúc dự án của tôi, với cấu trúc thư mục bắt chước nguồn mã sẽ được kiểm tra. Tuy nhiên, những thư mục có thể nhận được khá sâu, ví dụTránh yêu cầu (../../../ ..) đường dẫn tương đối với mocha grunt

app/src/js/models/User.js

với có lẽ là một thử nghiệm trong

test/app/src/js/models/User.js.

Bây giờ, khi tôi muốn bao gồm mô-đun User.js, tôi sử dụng require('../../../../../app/src/js/models/Users.js') rất cồng kềnh.

Lý tưởng nhất, tôi muốn sử dụng require('/app/src/js/models/User.js') hoặc thậm chí require('User.js').

Điều này có khả thi không? Tôi đang sử dụng grunt-mocha-test, nhưng tôi nghĩ câu hỏi là một câu hỏi tổng quát hơn.

+2

Bạn có thể thử đặt tệp thử nghiệm của mình trong 'test/models/User.js' thay vì' test/app/src/js/models/User.js', sau đó bạn có thể yêu cầu nó bằng 'require ('.. /../ app/src/js/models/User.js ') ' –

Trả lời

2

Có nhiều tùy chọn bạn có thể sử dụng. Đặt cược tốt nhất của bạn có lẽ sẽ là sử dụng một số module npm, ví dụ this one. Tìm kiếm đăng ký npm cho yêu cầu, có rất nhiều tùy chọn để chọn bất kỳ tùy chọn nào phù hợp với nhu cầu của bạn.

Ngoài ra, bạn có thể viết một số hàm trợ giúp thực hiện điều gì đó tương tự.

Nếu bạn đang tìm kiếm một số cách gốc (được xây dựng trong Node.js) để đạt được điều này, thật đáng buồn là không có. Bạn sẽ phải sử dụng chức năng tùy chỉnh hoặc mô-đun npm để thực hiện việc này theo một số cách tốt đẹp, có thể tái sử dụng.

Các vấn đề liên quan