2014-10-01 21 views
54

Theo như tôi thấy, khi thử nghiệm các mô hình dữ liệu ember trong CLI ember, tất cả các mối quan hệ phải được liệt kê trong needs. Điều này là tốt nếu cấu trúc đơn giản, nhưng trong nhiều trường hợp sẽ có nhiều lớp.Ember CLI thử nghiệm các mối quan hệ mô hình phức tạp

Ví dụ, nếu mô hình được thiết lập với các mối quan hệ sau được xác định:

Model a: 
    belongsTo: b 
    belongsTo: c 

Model b: 
    hasMany: a 
    hasMany: d 

Model c: 
    hasMany: a 
    belongsTo: e 

Model d: 
    hasMany b 

Model e: 
    hasMany c 

Sau đó, mỗi đơn vị kiểm tra đối với bất kỳ các mô hình này sẽ yêu cầu tất cả các mô hình khác được liệt kê trong needs, ví dụ Thử nghiệm cho c:

needs: [ 
    'model:a' // Because c -> a 
    'model:e' // Because c -> e 
    'model:b' // Because c -> a -> b 
    'model:d' // Because c -> a -> b -> d 
] 

Cấu hình thực tế của tôi phức tạp hơn với 14 mô hình và mỗi mô hình liên quan gián tiếp với tất cả các mô hình khác.

Sự hiểu biết của tôi có đúng không? Có cách nào hiệu quả hơn để làm việc này không? Hay là có lý do chính đáng để làm theo cách này mà tôi đang thiếu?

+0

Tôi chỉ nâng cấp một dự án đêm cuối cùng để 0.0.46 và nhận thấy hành vi này là tốt, và tôi không nhớ nó xảy ra trong các phiên bản trước. Có thể là một cái gì đó mới trong dữ liệu ember? – Dhaulagiri

+6

Vấn đề đang được giải quyết bởi [PR này] (https://github.com/stefanpenner/ember-cli/pull/2351). –

Trả lời

1

Nếu bạn đang sử dụng Ember mặc định 'Ember-QUnit' thì bạn phải liệt kê tất cả các mô hình có nhu cầu.

Nhưng có một giải pháp thay thế cho thử nghiệm mà tôi đang sử dụng tức là ember-data-factory-guy. Điều này được sử dụng để tạo nhà máy thay vì dữ liệu lịch thi đấu khi kiểm tra Mô hình, thành phần, bộ điều khiển, v.v.

Bạn có thể thực hiện.

https://github.com/danielspaniel/ember-data-factory-guy

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