tôi thấy hai mẹo nhỏ sau đây hữu ích để gỡ lỗi từ this answer:
- Grapher hình dung kim phun. Nếu nhà cung cấp tùy chỉnh của bạn triển khai HasDependencies, nó có thể làm tăng thêm biểu đồ này.
- Binder.skipSources() cho phép bạn viết các tiện ích mở rộng có thông báo lỗi theo dõi số dòng đúng cách.
Binder.skipSources() là hữu ích nếu bạn viết phương pháp trợ giúp ràng buộc chung và chỉ Guice báo cáo số dòng của phương pháp trợ giúp chung, nhưng bạn (rất có thể) thực sự muốn số dòng của người gọi lên cấp.
Tôi đang phát triển cho Android, vì vậy thời gian xây dựng có thể khá chậm so với thời gian tôi sửa đổi các ràng buộc của mình cho đến khi tôi thấy kết quả của các thay đổi trên thiết bị hoặc trình mô phỏng. Vì vậy, tôi đã phát triển các bài kiểm tra đơn vị sẽ xác minh các ràng buộc Guice trực tiếp trên máy chủ. Ngay cả khi bạn không phát triển cho Android, nó có thể hữu ích để viết các bài kiểm tra đơn vị ràng buộc Guice như sau. Ngay bây giờ, của tôi trông giống như thế này (ở đây trong Scala - Java sẽ trông giống nhau)
class ProviderTest {
var injector : Injector = null
@Before
def setUp() {
injector = Guice.createInjector(
new BindModule1(),
new BindModule2(),
new BindGlobals()
)
}
@After
def tearDown() {
}
@Test def InjectedClass1WasBound() {
val provider = injector.getProvider(classOf[InjectedClass1])
}
@Test def InjectedClass2WasBound() {
val provider = injector.getProvider(classOf[InjectedClass2])
}
}
Tôi viết các bài kiểm tra bắt đầu từ lớp được giới hạn sâu nhất. Tức là, nếu C được tiêm vào B, được tiêm vào A, tôi sẽ bắt đầu thử nghiệm tại C. Nếu thử nghiệm đơn vị C của ràng buộc không thành công, tôi sẽ bắt đầu bình luận ra các lĩnh vực tiêm trong C cho đến khi tôi nhận được ràng buộc để thành công. Sau đó, tôi di chuyển theo cách của tôi lên hệ thống phân cấp tiêm lặp lại quá trình này. Tất nhiên nếu bạn theo dõi sự phát triển theo hướng thử nghiệm, và chắc chắn bao gồm các bài kiểm tra ràng buộc Guice-binding trong bộ của bạn, bạn sẽ phát hiện ra các lỗi này ngay sau khi bạn phá vỡ một ràng buộc.
Nguồn
2012-01-10 20:10:28
biểu đồ thực sự khá hữu ích. bạn chỉ đơn giản là phải làm việc xung quanh phong cách = invis lỗi – wuppi
bạn có thể gắn thẻ java này, vì vậy chúng tôi nhận được mã màu? – wuppi