我有类似缓存的类,如下所示:
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以确保“缓存”的预期质量,我想知道如何编写它们以确保在我有并发访问时结构也能正常工作。到目前为止我尝试过的是启动多个线程,一些编写其他线程并检查队列内容。我会感谢其他建议,也许是一些工具?!
答案 0 :(得分:1)
考虑使用JUnitPerf。该库旨在针对您的“工作单元”运行负载测试,以增加遇到并发问题的可能性。
答案 1 :(得分:0)
其他日子我遇到了thread weaver。它似乎是测试并发场景的一个非常优雅的解决方案,特别是在我在我的问题中指出的情况。 user-guide包含一些指示您正确方向的示例。