我正在使用EclEmma进行覆盖率分析。
我的Java代码包括一块synced(MyClass.class){}块。
EclEmma说它只是部分覆盖,尽管我有一个单元测试,其中一个线程可以访问而另一个线程被阻塞。
是否可以使用EclEmma完全覆盖同步?
我可以通过某种方式注释代码以告诉EclEmma对该行进行全面介绍吗?
亲切的问候
罗杰
最佳答案
由于issue 2939804报告,我不确定是否可以得到全面报道。
synchronized (lock) // partially covered (yellow line in EclEmma)
{
// ...
}
synchronized (this) // partially covered (yellow line in EclEmma)
{
// ...
}
也许其他工具(like Cobertura)会产生不同的结果? (我最近没有测试过)。2012年12月更新(超过2年):
Nathan D Ryan reports: