我们计划在我们的项目中引入JavaScript单元测试,到目前为止,Jasmine似乎是更好的BDD单元测试框架之一.现在我想知道如何监控JavaScript代码的代码覆盖率.我们可以使用任何工具/插件吗?我们是微软的商店,使用.NET/MVC 4.
如何从coverage.py报告中排除整个文件?
根据文档,您可以通过匹配行来排除代码.我想排除整个文件,以便报告不包含第三方库.我错过了什么吗?可以吗?
我一直在为一个项目创建一个测试套件,虽然我意识到100%的覆盖率并不是人们应该努力的指标,但在代码覆盖率报告中有一点奇怪,我想要一些澄清.
看截图:

因为正在测试的方法的最后一行是a return,所以最后一行(它只是一个结束括号)显示为从未执行,因此整个方法被标记为未在概述中执行.(要不然,或者我没有正确阅读报告.)
完整的方法:
static public function &getDomain($domain = null) {
$domain = $domain ?: self::domain();
if (! array_key_exists($domain, self::$domains)) {
self::$domains[$domain] = new Config();
}
return self::$domains[$domain];
}
Run Code Online (Sandbox Code Playgroud)
有这个原因,还是一个小故障?
(是的,我通读了如何使用PHPUnit获得100%的代码覆盖率,不同的情况虽然相似.)
编辑:
通过报告跋涉,我注意到switch代码中其他地方的陈述也是如此.所以这种行为至少在某种程度上是一致的,但对我来说却令人困惑.
EDIT2:
我正在运行:OS X上的PHPUnit 3.6.7,PHP 5.4.0RC5,XDebug 2.2.0-dev
我正在尝试检查我在Kotlin中编写的测试用例的代码覆盖率.当我执行时./gradlew createDebugCoverageReport --info,我的coverage.ec文件为空,我的报告显示我有0%的覆盖率.请注意,测试用例100%成功.谁能想到我的coverage.ec文件一直返回0字节的原因?
我到处搜寻都没有运气.
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'jacoco'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
testCoverageEnabled = true
}
release {
minifyEnabled false
testCoverageEnabled = true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
testOptions {
unitTests.all {
jacoco {
includeNoLocationClasses = true
}
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude …Run Code Online (Sandbox Code Playgroud) 如何确定jUnit测试涵盖的方法(和代码)的百分比?我假设有一种更复杂的方式,然后只是计数... and 1 and 2 and ..
我特别想知道当'n'测试涵盖单个方法时如何处理这种计数.
我已经配置EclEmma不要检测我的单元测试工作正常.但是,编辑器仍然强调测试代码未涵盖.我不希望在单元测试中突出显示,因为它们没有检测到覆盖范围.我怎样才能做到这一点?
正如在Intellij IDEA的Open JaCoCo报告中所讨论的,当我使用Jacoco(而不是本机IntelliJ跟踪)收集代码覆盖率统计时,0.0%(即"无"覆盖率)始终显示在覆盖窗口中.
这是在我完成整个"分析 - >显示覆盖数据..."并选择了我生成的"jacoco.exec"文件之后.
相同的"jacoco.exec"文件可以与其他工具(如Jacoco本机报告生成任务)和Sonar一起使用,这些工具可以生成预期的覆盖率报告内容.
原生IntelliJ仪器也可以正常工作.
任何人都可以告诉我,为了让IntelliJ接受我的Jacoco报道,我必须采取哪些必要步骤吗?
我成功地昨晚跑了一个版本.我今天早上起床并运行另一个而不更改任何配置或修改任何源代码.现在我的构建与失败的消息"没有源代码"运行时我nosetests与覆盖范围.
NoSource: No source for code: '/home/matthew/.hudson/jobs/myproject/workspace/tests/unit/util.py'
. . .
No source for code: '/home/matthew/.hudson/jobs/myproject/workspace/__init__.py'
Run Code Online (Sandbox Code Playgroud)
我唯一的线索是,它说它找不到的文件不存在,但它们从来没有,它们不应该是.例如,在后者中,Hudson的工作区不是Python模块,因此__init__.py不会存在.
更新:我已经确认这不是哈德森问题.当我在目录本身运行带有覆盖的nostests时,我看到类似的消息.再一次,覆盖范围正在寻找的文件从来没有开始,这使得这非常令人费解.
code-coverage ×10
jacoco ×2
java ×2
javascript ×2
python ×2
testing ×2
unit-testing ×2
android ×1
coverage.py ×1
eclemma ×1
eclipse ×1
istanbul ×1
jasmine ×1
junit ×1
kotlin ×1
nosetests ×1
nunit ×1
php ×1
phpunit ×1
xunit ×1