我需要在单元测试中模拟一个javax.mail.Session对象.类javax.mail.Session标记为final,因此Mockito无法创建模拟.有谁知道如何解决这个问题?
编辑:我的测试是一个Arquillian测试,并且已经有一个注释@RunWith(Arquillian.class).因此,powermock不是一种选择.
JUnit是否可以为每个测试方法添加描述文本,以便稍后在surefire/failsave xml报告中显示描述文本!?
背景:我在一个受监管的环境中工作,必须编写大量的文档,测试规范和测试报告.JUnit测试报告是文档的一部分,我们希望将测试描述直接放到JUnit测试中,以便将它们放在一个地方.由于测试不断发展并且有些被删除,因此很难将测试描述放在与测试不同的工具或位置.
我喜欢的是这样的:
public class MyTest {
@Test
@TestDescription("The test will do this and that. Preconditions are:
1. bla blubb
2. bla fasel"
public void testDoMyTestShouldCheckSomething {
[...]
}
}
Run Code Online (Sandbox Code Playgroud) 我有简单的XML文件:
<MyRoot>
<Value key="TARGET">foo</Value>
<Value key="MODEL">bar</Value>
<Value key="MANUFACTURER">bla</Value>
</MyRoot>
Run Code Online (Sandbox Code Playgroud)
我想使用XSLT向MyRoot添加一个Value节点.我无法弄清楚如何.
结果应该是:
<MyRoot>
<Value key="TARGET">foo</Value>
<Value key="MODEL">bar</Value>
<Value key="MANUFACTURER">bla</Value>
<Value key="NEWNODE">yeahIMadeIt</Value>
</MyRoot>
Run Code Online (Sandbox Code Playgroud)
到目前为止我所拥有的是:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="@* | *"/>
<Value key="NEWNODE">yeahIMadeIt</Value>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
但是这会将新的Value节点放在根节点下:
<MyRoot>
<Value key="TARGET">foo</Value>
<Value key="MODEL">bar</Value>
<Value key="MANUFACTURER">bla</Value>
</MyRoot>
<Value key="NEWNODE">yeahIMadeIt</Value>
Run Code Online (Sandbox Code Playgroud)