如何模拟com.google.inject.Binder和org.yaml.snakeyaml.Yaml?

时间:2018-01-22 16:21:55

标签: java junit mockito powermockito

根据我的要求,我必须将我的代码覆盖率提高到80%我有些达到了71%,但是30%的代码是在主类和YAML配置加载器类中编写的。谁能告诉我如何编写以下方法的测试用例: -

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:a="http://example.com">
  <xsl:output indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template 
    match="a:empAccountsResponse[not(a:ActCode='JHO') and not(a:ActCode='FFG')]"/>

</xsl:stylesheet>

1 个答案:

答案 0 :(得分:0)

如果您使用有效配置创建临时文件,我在测试您的课程时看不到任何问题。您可以使用JUnit中的TemporaryFolder来创建临时文件,并使用一些IOUtils将yaml格式的配置写入文件。

以下示例来自官方org.junit.rules.TemporaryFolder javadoc

 public static class HasTempFolder {
  @Rule
  public TemporaryFolder folder= new TemporaryFolder();

  @Test
  public void testUsingTempFolder() throws IOException {
      File createdFile= folder.newFile("myfile.txt");
      File createdFolder= folder.newFolder("subfolder");
      // ...
     }
 }