2010-08-04 24 views

Trả lời

0

Tôi đã sử dụng jmockit trong thử nghiệm đơn vị này có thể mô phỏng hầu hết mọi thứ. Mở rộng điều đó, java.lang.instrument.Instrumentation cũng sẽ hoạt động.

1

Có, điều này là có thể, nhưng không phải là rất đơn giản.

Sự cố khi sử dụng java.lang.instrument.Instrumentation là bạn sẽ luôn cần phải sử dụng tác nhân JVM. Giới thiệu tốt về các đại lý JVM có sẵn tại http://www.javabeat.net/2012/06/introduction-to-java-agents/.

Tuy nhiên, vì các thử nghiệm đơn vị của bạn cũng chạy trong jvm, bạn có thể chỉ định tác nhân làm đối số JVM.

Bộ nhớ báo cáo đại lý JVM cho những gì bạn muốn làm và sẵn sàng để đóng gói, có sẵn tại https://github.com/jbellis/jamm. Bạn có thể xây dựng nó bằng Maven hoặc Ant. Để sử dụng nó, bạn xây dựng nó và sau đó vượt qua sau như một đối số JVM khi bạn bắt đầu thử nghiệm đơn vị hoặc đơn vị kiểm tra bộ:

-javaagent:<path to>/jamm.jar 

Trong các bài kiểm tra đơn vị, sau đó bạn có thể nhanh chóng MemoryMeter và sử dụng nó:

MemoryMeter meter = new MemoryMeter(); 
meter.measure(object); 
meter.measureDeep(object); 
meter.countChildren(object); 
Các vấn đề liên quan