0

次のように、自動生成された単体テスト ファイルがありました。

package com.yuanjianlvye.szws

import grails.test.mixin.*
import org.junit.*

/**
 * See the API for {@link grails.test.mixin.services.ServiceUnitTestMixin} for usage instructions
 */
@TestFor(ScreenResolutionService)
class ScreenResolutionServiceTests {

    void testSomething() {
        fail "Implement me"
    }
}

「test-app com.yuanjianlvye.szws.ScreenResolutionService」のように、GGTS で grails コマンドを使用して単体テストを実行すると、期待どおりの答えが得られます。

Loading Grails 2.2.1
| Environment set to test.....
| Compiling 1 source files..
| Compiling 1 source files.....
| Running 1 unit test... 1 of 1
| Failure:  testSomething(com.yuanjianlvye.szws.ScreenResolutionServiceTests)
|  junit.framework.AssertionFailedError: Implement me
    at junit.framework.Assert.fail(Assert.java:50)
    at com.yuanjianlvye.szws.ScreenResolutionServiceTests.testSomething(ScreenResolutionServiceTests.groovy:15)
| Completed 1 unit test, 1 failed in 207ms

しかし、ファイルを右クリックし、ポップアップ メニューで [Run As->JUnit Test] を選択して単体テストを実行すると、次のエラー メッセージが表示されました。

Class not found com.yuanjianlvye.szws.ScreenResolutionServiceTests
java.lang.ClassNotFoundException: com.yuanjianlvye.szws.ScreenResolutionServiceTests
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

誰かこれについて何か考えがありますか?

4

1 に答える 1

1

私はこれを定期的に経験しました。「grails run-app」コマンドがバックグラウンドで実行されるのを停止し、「Project/Clean...」メニュー オプションを使用してアプリをクリーンアップすると役立つ場合があります。

于 2013-12-16T20:20:28.790 に答える