为集合的并发访问写UT

时间:2014-10-02 09:57:44

标签: java unit-testing junit4

我有类似缓存的类,如下所示:

class Cache {
   Map<String, Object> objects;
   Map<String, List<Object>> lists;
   //...
   List<Object> getFromLists(String key) {
   //...
   }

   Object getFromObjects(String key) {
   //...
   }

   void addObject(String key, Object value) {
   //...
   }
   //...
}

现在我正在尝试编写UT以确保“缓存”的预期质量,我想知道如何编写它们以确保在我有并发访问时结构也能正常工作。到目前为止我尝试过的是启动多个线程,一些编写其他线程并检查队列内容。我会感谢其他建议,也许是一些工具?!

2 个答案:

答案 0 :(得分:1)

考虑使用JUnitPerf。该库旨在针对您的“工作单元”运行负载测试,以增加遇到并发问题的可能性。

答案 1 :(得分:0)

其他日子我遇到了thread weaver。它似乎是测试并发场景的一个非常优雅的解决方案,特别是在我在我的问题中指出的情况。 user-guide包含一些指示您正确方向的示例。