Jacoco: для создания отчетов необходимо использовать те же файлы классов, что и во время выполнения.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Jacoco: для создания отчетов необходимо использовать те же файлы классов, что и во время выполнения.

Сообщение Anonymous »

Я работаю над проектом Android и использую roboletric и powermock для выполнения модульных тестов.
Когда я запускаю gradle jacocoTestReport, он отобразится

Код: Выделить всё

[ant:jacocoReport] Classes in bundle 'app' do no match with execution data. For report generation the same class files must be used as at runtime.
[ant:jacocoReport] Execution data for class com/my/app/MyClass does not match.
Где я использую powermock для имитации статического метода в Myclass.java

Код: Выделить всё

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
@PowerMockIgnore({ "org.mockito.*", "org.robolectric.*", "android.*" })
@PrepareForTest(MyClass.class)
public class TheTest {

@Rule
public PowerMockRule rule = new PowerMockRule();

@Test
public void test1() throws Exception {
PowerMockito.mockStatic(MyClass.class);
// do something
}
}
А build.gradle выглядит следующим образом

Код: Выделить всё

apply plugin: 'jacoco'
def coverageSourceDirs = [
'../app/src/main/java'
]

task jacocoTestReport(type:JacocoReport, dependsOn: "testDebugUnitTest") {
group = "Reporting"
description = "Generate Jacoco coverage reports"

classDirectories = fileTree(
dir: '../app/build/intermediates/classes/debug',
excludes: ['**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*']
)

additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files('../app/build/jacoco/testDebugUnitTest.exec')

reports {
xml.enabled = true
html.enabled = true
}

}
Я по-прежнему вижу отчет о покрытии без искажений.
Но как избавиться от такого предупреждения?

Подробнее здесь: https://stackoverflow.com/questions/335 ... at-runtime
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»