相关疑难解决方法(0)

我该如何对线程代码进行单元测试?

到目前为止,我已经避免了测试多线程代码的噩梦,因为它看起来像是一个雷区太多了.我想问一下人们如何测试依赖线程成功执行的代码,或者人们如何测试那些只在两个线程以给定方式交互时出现的问题?

对于今天的程序员来说,这似乎是一个非常关键的问题,将我们的知识集中在这个imho上是有用的.

multithreading unit-testing

673
推荐指数
16
解决办法
15万
查看次数

使用TDD驱逐线程安全的代码

利用TDD驱逐线程安全代码的好方法是什么?例如,假设我有一个工厂方法,它使用延迟初始化来创建一个类的一个实例,然后返回它:

private TextLineEncoder textLineEncoder;
...
public ProtocolEncoder getEncoder() throws Exception {
    if(textLineEncoder == null)
        textLineEncoder = new TextLineEncoder();
    return textLineEncoder;
}
Run Code Online (Sandbox Code Playgroud)

现在,我想以良好的TDD方式编写测试,迫使我使这段代码成为线程安全的.具体来说,当两个线程同时调用此方法时,我不想创建两个实例并丢弃一个实例.这很容易做到,但我怎样才能编写一个让我这样做的测试?

我在Java中问这个问题,但答案应该更广泛适用.

tdd multithreading

10
推荐指数
2
解决办法
3634
查看次数

测试多线程代码或确保代码是线程安全的准则

是否有任何测试多线程代码的指导原则(除了在问题上抛出一堆线程并交叉手指).

我基本上正在寻找测试数据损坏,死锁和其他并发问题的好方法.基本上我希望能够通过测试证明代码是线程安全的.

Java中是否有任何框架可以让您轻松编写多线程场景的测试?

java testing concurrency multithreading unit-testing

6
推荐指数
1
解决办法
1993
查看次数

标签 统计

multithreading ×3

unit-testing ×2

concurrency ×1

java ×1

tdd ×1

testing ×1