@MockBean不能与testNG流利

时间:2017-03-13 14:20:12

标签: spring-boot testng spring-test

使用JUnit,我可以轻松地使用@MockBean:

<defaultDocument enabled="true">
  <files>
    <clear />
    <add value="index.aspx" />
    <add value="index.asp" />
    <add value="index.htm" />
    <add value="index.html" />
    <add value="home.aspx" />
    <add value="home.asp" />
    <add value="home.htm" />
    <add value="home.html" />
    <add value="default.aspx" />
    <add value="default.asp" />
    <add value="default.htm" />
    <add value="default.html" />
  </files>
</defaultDocument>

<staticContent>
    <mimeMap fileExtension=".otf" mimeType="application/x-font-opentype"/>
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
    <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />    
    <clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="7.24:00:00" />
</staticContent>        

但是使用TestNG它并不是开箱即用的工具,使用abov语法,模拟为空。 我必须将@Autowired添加到@MockBean才能使其正常工作。 每次测试后都不会重置更多的模拟,我必须:

<%EnableSessionState=False
host = Request.ServerVariables("HTTP_HOST")

if host = "patchworktiles.net" or host = "www.patchworktiles.net" then
response.redirect("https://patchworktiles.net/")

else
response.redirect("https://patchworktiles.net/error.htm")

end if
%>

你确认这个行为吗? 这是否意味着Spring停止支持TestNG,因为它不再出现在spring-boot参考文档中了?

1 个答案:

答案 0 :(得分:0)

您的问题已为Spring所知,尚未修复:https://github.com/spring-projects/spring-boot/issues/7689

即使Spring Boot的文档没有引用TestNG,它也为TestNG提供了一个测试样本:https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-testng