2008-12-20 46 views

Trả lời

25

Câu trả lời đó đã phát triển trong vài năm trở lại đây là, bạn không áp dụng TDD để GUI, bạn thiết kế GUI như cách có một lớp bên dưới bạn có thể phát triển với TDD. Các Gui được giảm xuống một bản đồ tầm thường của các điều khiển để ViewModel, thường với các ràng buộc khung, và như vậy là bỏ qua cho TDD.

Điều này được biết đến khác nhau là Presentation Model (Fowler) là kiến ​​trúc Model-View-ViewModelDataModel-View-ViewModel.

Phương pháp này loại bỏ lớp GUI khỏi TDD và kiểm tra đơn vị. Nó không có nghĩa là GUI không bao giờ được thử nghiệm nhưng chỉ thừa nhận rằng nó không hiệu quả về chi phí để theo đuổi kiểm tra GUI tự động, đặc biệt là một phần của TDD. Việc tích hợp và kiểm tra người dùng phải bao gồm GUI.

Josh Smith's 2009 WPF article là giải thích chi tiết về MVVM với một số thử nghiệm. Gần đây

hơn, Houssem Dellai của 2016 video Creating Unit Tests for Xamarin Forms Apps cho thấy một giao diện người dùng XAML với ràng buộc ViewModel và đi thông qua việc tạo một dự án thử nghiệm đơn vị

+0

Great câu trả lời, cảm ơn. Tuy nhiên, lưu ý rằng liên kết tới 'các cuộc thảo luận tốt' khá vô ích - nó chỉ tới tìm kiếm ViewModel, một khu vực rộng lớn bao gồm một số lượng lớn các cuộc thảo luận không liên quan gì đến TDD. Liên kết đến các cuộc thảo luận cụ thể sẽ hữu ích. Tôi đã đào sâu vào chủ đề này rất nhiều trong vài ngày qua và có rất ít thảo luận về vấn đề này. –

+2

Khi tôi viết câu trả lời của mình, cách đây 8 năm, tìm kiếm đó thực sự là một câu trả lời hay nhưng có một chút ngớ ngẩn khi mong đợi nó ở lại như vậy. –

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