TestNGと一緒に使用するGradleプロジェクトを作成しています。これまでのところ、私はこのフォームで構成さTestNGのファイルを、実行しています、テストを実行するには:私がやりたいのは何Gradle + TestNG:実行するクラスの設定
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default Suite">
<test name="Test">
<classes>
<class name="package1.class1"></class>
<class name="package2.class2"></class>
</classes>
</test>
</suite>
はGradleのファイルを構築するのと同じことを行うことです私は現在やっている何このtestng.xmlファイルを実行すると(つまり、クラス1のテストスイートを実行した後、クラス2のスイートを実行したとき)私はしかし、この構成で実行すると
include 'shared'
include 'api'
include 'services:webservice'
rootProject.name = 'Project1'
:少し検索を行った後、私のbuild.gradleファイルは現在、次のようになります。
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
// add the dependencies as needed
testCompile group: 'org.testng', name: 'testng', version:'6.9.10'
testCompile fileTree('lib')
}
test {
useTestNG() {
// Run the test suite textng.xml, which is in the same directory.
suites 'testng.xml';
include '**/*package1.class1.*'
include '**/*package2.class2.*'
}
}
...とこのように私のsettings.gradleファイル、テストは期待どおりに実行されません。このコードには何がありますか?
EDIT:私は両方のアプローチは、潜在的にことを除いて、どこかに行くことができると思い
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
// Add any necessary dependencies.
testCompile group: 'org.testng', name: 'testng', version:'6.9.10'
testCompile fileTree('lib')
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.5'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.5'
}
task runTests(type: JavaExec, dependsOn: 'classes') {
classpath = files("${projectDir}/src", project.sourceSets.main.compileClasspath,
project.sourceSets.test.compileClasspath,
project.sourceSets.main.runtimeClasspath,
project.sourceSets.test.runtimeClasspath)
main = 'org.testng.TestNG'
args = ["-parallel", "methods", "-threadcount", "1", "-d", "./build/test-output", "testng.xml"]
}
:いくつかは、より多くの掘り行った後、私は新しいtestng.xmlファイルを作成し、Gradleのから直接TestNGのを実行してみることにしました、私は私のソースディレクトリの場所が含まれていたにも関わらず、私はまだ、このエラーを取得しています:
Cannot find class in classpath: package1.class1