Rog*_*son 7 java concurrency code-coverage emma synchronized
我正在使用EclEmma进行覆盖率分析.
我的Java代码包含synchronized(MyClass.class){}块.
EclEmma说它只是部分覆盖,虽然我有一个单元测试,其中一个线程获得访问而另一个线程被阻止.
是否有可能使用EclEmma完全覆盖同步?
我可以用某种方式注释代码来告诉EclEmma让这条线完全覆盖吗?
亲切的问候罗杰
我不确定是否有可能获得全面报道,因为问题2939804报告:
EMMA始终标记
synchronized(..)
为部分覆盖例子:
synchronized (lock) // partially covered (yellow line in EclEmma)
{
// ...
}
synchronized (this) // partially covered (yellow line in EclEmma)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
也许一个不同的工具(如Cobertura)会产生不同的结果?(我最近没有测试过).
2012年12月更新(超过2年后):
synchronized
如果同步块包含在对象监视器上等待的代码,并且测试中断等待的线程,则将亮起为绿色.经过一些实验,
synchronized
如果synchronized
块正常完成并由于异常而突然完成,我能够完成对线的完全覆盖.
归档时间: |
|
查看次数: |
1922 次 |
最近记录: |