将PowerMockto与SCALA集成以进行Maven测试的问题

时间:2015-06-30 17:15:38

标签: java scala maven junit powermock

我正在尝试用maven运行我的测试。测试用scala编写。

我已将jar包含在pom.xml中以包含powermockito

   <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito</artifactId>
        <version>1.4.6</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-core</artifactId>
        <version>1.4.6</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>1.4.6</version>
        <scope>test</scope>
    </dependency>

我目前正在使用mockito-core:1.9.5

    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>1.9.5</version>
        <scope>test</scope>
    </dependency>

我正在使用maven(Maven版本3.0.5)命令运行我的测试,如

 mvn clean test -Dtest=XMLWithZombieTest

时不会执行测试
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.zombie.server.XMLWithZombieTest
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.204 sec

我的测试如下:

import org.junit.runner.RunWith
import org.powermock.core.classloader.annotations.PrepareForTest
import org.powermock.modules.junit4.PowerMockRunner;
import org.junit.Test
import org.junit.Before
import org.junit.Assert._

@RunWith(classOf[PowerMockRunner])
class XMLWithZombieTest {

  var sb: StringBuilder = _
  var lb: ListBuffer[String] = _

  @Before def initialize() {
    sb = new StringBuilder("ScalaTest is ")
    lb = new ListBuffer[String]
  }

  @Test def verifyEasy() { // Uses JUnit-style assertions
    sb.append("easy!")
    assertEquals("ScalaTest is easy!", sb.toString)
    assertTrue(lb.isEmpty)
    lb += "sweet"
    try {
      "verbose".charAt(-1)
      fail()
    }
    catch {
      case e: StringIndexOutOfBoundsException => // Expected
    }
  }
}

一旦我删除RunWith语句,我的测试就会开始执行,但是当我有RunWith语句时会被忽略,这是PowerMockito所必需的。

我正在使用下面的maven-surefire-plugin

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <excludes>
                        <exclude>**/*Suite*.java</exclude>
                    </excludes>
                    <argLine>-Xms256m -Xmx512m -XX:MaxPermSize=256M</argLine>
                </configuration>
            </plugin>

我将PowerMockito与Java类似,它运行良好。

任何输入都会有所帮助。我错过了什么。如果需要更多细节,请告诉我。

谢谢!

0 个答案:

没有答案
相关问题