Tag: junit4

在Kotlin中使用@ClassRule

在JUnit中,您可以使用@ClassRule来注释一个静态字段。 我怎么能在Kotlin做到这一点? 我试过了: object companion { @ClassRule @JvmStatic val managedMongoDb = … } and object companion { @ClassRule @JvmField val managedMongoDb = … } 但没有最后的作品,因为规则没有执行。 我再次检查完全相同的规则工作正常,没有静态上下文: @Rule @JvmField val managedMongoDb = …

在kotlin测试

我是kotlin开发kotlin 。 在我的应用程序中,我想编写测试用例,但是我无法使用它。 Src / test / kotlin文件夹没有被创建 gradle这个 android { compileSdkVersion 27 defaultConfig { applicationId “in.getparking.getparkingattendant” minSdkVersion 23 targetSdkVersion 27 versionCode 1 versionName “1.0” multiDexEnabled true testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } sourceSets { test.java.srcDirs += ‘src/test/kotlin’ androidTest.java.srcDirs += […]

在Android Studio中使用Kotlin进行JUnit测试停止工作

我在Android Studio中创建了一个Java库模块。 在那里我有一个我想测试的Kotlin课程。 当我在Kotlin创建测试并尝试运行它时,IDE一直告诉我: 处理完成退出代码1类未找到:“com.example.CacheTest”空的测试套件。 当我在Java中创建相同的测试时,一切正常。 我也在Kotlin的其他项目中创建了测试,并且在那里工作。 我最近更新到2.2.2,并使用Kotlin 1.0.4 有没有人有什么建议?

在咖啡测试中,注解被kotlin忽略了吗?

我有用kotlin编写的测试类,并使用espresso来执行测试。 当我运行它时,用@Before注释的函数被完全忽略。 即使在调试测试并在其中放置断点时,也不能通过这一点。 你有什么想法,为什么发生这种情况? 我一直在谷歌搜索,但大多数例子不使用@Before或根本不提及任何问题。 我还添加了logOut()函数以获取更多信息。 PD:在Java中编写相同的代码完美地工作。 @RunWith(AndroidJUnit4::class) class LoginTest { @get: Rule val activityTestRule = ActivityTestRule(SplashActivity_::class.java) private lateinit var user: User @Before fun setUp() { logOut() } @Test fun newUserWasLoggedIn() { givenAnUser(UserFactory.randomUser) itCanBeLoggedAsNewUser() } @Test fun oldUserWasLoggedIn() { givenAnUser(UserFactory.oldUser) itCanBeLoggedAsOldUser() } private fun itCanBeLoggedAsOldUser() { oldUserLogin(user) } private fun itCanBeLoggedAsNewUser() { newUserLogin(user) } private […]

使用Gradle和Kotlin编译失败

我正在阅读Kotlin in Action书中的例子。 gradle buid脚本如下: group 'kotlin-in-action' version '1.0-SNAPSHOT' buildscript { ext.kotlin_version = '1.1.2-2' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'kotlin' repositories { mavenCentral() } apply plugin: 'java' dependencies { testCompile 'junit:junit:4.12' } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" compile "junit:junit:4.12" compile 'junit:junit:4.12' compile 'junit:junit:4.12' } sourceSets { main.kotlin.srcDirs […]

在Kotlin中使用@ClassRule

在JUnit中,您可以使用@ClassRule来注释一个静态字段。 我怎么能在Kotlin做到这一点? 我试过了: object companion { @ClassRule @JvmStatic val managedMongoDb = … } and object companion { @ClassRule @JvmField val managedMongoDb = … } 但没有最后的作品,因为规则没有执行。 我再次检查完全相同的规则工作正常,没有静态上下文: @Rule @JvmField val managedMongoDb = …