小编sat*_*the的帖子

SpringRunner 是否应该在 Spring Boot 中与 Junit 5 一起使用

我对 SpringRunner 类感到困惑。\n来自 Stackoverflow 和 google 确实理解了这一点SpringRunner并且SpringJunit4ClassRunner它们是一回事。

\n\n
@RunWith(SpringRunner.class)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我对这门课的理解是:

\n\n
    \n
  • 顾名思义,它是一个“运行程序”(它将运行 Junit 测试)
  • \n
  • 在使用注释执行单元测试时使用此类@RunWith
  • \n
  • 此注释有助于加载 spring 应用程序上下文并帮助 \xe2\x80\x98autowire\xe2\x80\x99 依赖项。
  • \n
  • 仅当我们需要 spring 上下文 bean 依赖项时才应使用此类。
  • \n
  • 所以这个类应该谨慎使用,否则我们将在测试过程中不必要地加载 spring 上下文。
  • \n
  • 此类帮助 Junit 和 Spring 协作。
  • \n
\n\n

有了 Junit5 和 spring boot,这个类不再需要了吗?

\n\n

如果是的话,我们应该在 Spring Boot 和 Junit5 环境中使用什么?

\n

java spring spring-boot

14
推荐指数
3
解决办法
1万
查看次数

关于端点接口的jax-ws

用注释@WebService定义了一个Java接口 编译好的代码

例:

@WebService
public interface HelloWorldIfc{
Run Code Online (Sandbox Code Playgroud)

现在我尝试将端点接口定义为

 @WebService (endpointInterface = "com.ws.HelloWorldIfc")
    public interface HelloWorldIfc{
Run Code Online (Sandbox Code Playgroud)

这也很好

那么 - 我应该在接口上还是在实现类时定义端点接口?
这是任何用途的属性 - 它的目的是什么?
如果我不定义会发生什么 - 我会失去什么?
谢谢,
饱餐一顿

web-services jax-ws

11
推荐指数
1
解决办法
1万
查看次数

运行声纳分析时出现PacketTooBigException

当我尝试运行声纳分析时,我得到了这个例外

com.mysql.jdbc.PacketTooBigException:查询包太大(1807198> 1048576).您可以通过设置max_allowed_pa​​cket'变量在服务器上更改此值.

在声纳服务器上我应该设置这个值吗?

我正在使用Sonar 3.4.1和MySQL 5.x.

mysql sonarqube

10
推荐指数
2
解决办法
6384
查看次数

Windows 7服务器的快捷方式和Windows中的不同服务视图

  1. Windows 7中的服务快捷方式是什么?

  2. 我可以通过两种方式获得服务:

    一个.启动任务管理器>单击服务选项卡
    b.Windows资源管理器 - 右键单击​​"计算机" - "管理" - "服务和应用程序" - "服务"

    使用选项b我可以启动和停止服务,但使用选项a - 我不能

    那两者有什么区别?选项b是否有快捷方式?

windows-services windows-7

8
推荐指数
1
解决办法
5万
查看次数

maven正在用java 1.7编译代码,但我想用1.8编译它

我正在使用maven,并希望使用JDK 1.8编译我的代码.
所以我安装了JDK 1.8
然后(这是在windows上)设置'path'变量和'JAVA_HOME'

PATH = C:\建筑\工具\ ibm_sdk80\BIN; C:\建筑\工具\ Apache的行家-3.2.5\BIN;

java主页:

C:\ Users\satish.marathe>设置JAVA_HOME
JAVA_HOME = C:\ construction\tools\ibm_sdk80

java版给我:

C:\ Users\satish.marathe> java -version
java version"1.8.0"
Java(TM)SE运行时环境(构建pwa6480sr1fp10-20150711_01(SR1 FP10))
IBM J9 VM(版本2.8,JRE 1.8.0 Windows 7 amd64 -64压缩参考20150630_255633(JIT使能,AOT使能)
J9VM - R28_jvm.28_20150630_1742_B255633
JIT - tr.r14.java_20150625_95081.01
GC - R28_jvm.28_20150630_1742_B255633_CMPRSS
J9CL - 20150630_255633)
JCL - 20150711_01基于Oracle jdk8u51-b15

javac版本告诉我:

C:\ Users\satish.marathe> javac -version
javac 1.8.0-internal

所以一切似乎都指向java 1.8
现在我使用以下方法编译我的项目:

mvn clean install  
Run Code Online (Sandbox Code Playgroud)

但是,当我检查已编译的类时,我发现主要版本是51 - 这意味着它是Java 1.7
对于那些想知道如何在类文件中找到java版本的人!:)

javap -verbose <<your_package>>.<<your_class>> | findStr "major"  
Run Code Online (Sandbox Code Playgroud)

编辑1:
我忘了包含maven -version的输出所以这里是:

C:> mvn …

java maven

6
推荐指数
2
解决办法
5381
查看次数

spring boot 使用哪个“切片”来测试服务组件

我正在使用 spring boot 开发一个rest api。它由标准层组成:控制器(@RestController)(处理传入的http请求并公开api端点),然后是服务层(@Service),最后是存储库层(@Repository)

我的问题是关于单元测试的。

为了测试我的控制器 - 我使用mockito模拟对服务层的调用。另外,为了防止不必要地加载整个上下文,我阅读了一些有关“弹簧片”的内容,因此为了测试我的控制器 - 这是使用的注释:

@WebMvcTest

@ExtendWith(SpringExtension.class)

@WebMvcTest(controllers = TieredClaimController.class)
class TieredClaimControllerTest {

    @MockBean
    private TieredClaimService tieredClaimService;

    @Autowired
    private MockMvc mockMvc;
Run Code Online (Sandbox Code Playgroud)

类似地,为了测试我的 Spring 数据存储库,使用了另一个 Spring 切片注释:@DataJpaTest

@ExtendWith(SpringExtension.class)
@DataJpaTest

@ContextConfiguration(initializers = {SalesRepositoryTest.Initializer.class})
public class SalesRepositoryTest {  

    @Autowired
    private SalesRepository repository; 
Run Code Online (Sandbox Code Playgroud)

因此,我可以看到针对 Web 端(@WebMvcTest)和数据库端(@DataJpaTest)的专用 spring 切片注释

但是,当我需要测试我的 @Service 注解的类时,我应该使用哪个 spring 切片?我没有看到任何专门用于服务层的内容

我问的原因是我以这种方式使用它:注意(对存储库的调用是模拟的,所以本质上我的服务层单元测试是隔离的)

@ExtendWith(SpringExtension.class)
@SpringBootTest
class TieredClaimServiceTest {

    @Autowired
    private TieredClaimService tieredClaimService;  

    @MockBean
    private SalesRepository salesRepository;
Run Code Online (Sandbox Code Playgroud)

然而问题是 - 当我运行这些单元测试时,会调用一些不必要的 jpa/hibernate 代码。

我该如何防止这种情况?

2019-11-29 | 21:04:17.293 | SpringContextShutdownHook …

java spring unit-testing mocking spring-boot

5
推荐指数
1
解决办法
1900
查看次数

如何在 React、Jest 和 Enzyme 中查找包含特定值的 div 的计数

我正在寻找使用 React、Jest 和 Enzyme 的解决方案。我是这些技术的新手。

我可以运行一些简单的测试。现在这是我想测试的:

<div className="trow">
            <div className="tcolid" >101</div>
            <div className="tcolname">Joe</div>
            <div className="tcolgender">M</div>
          </div>

          <div className="trow">
            <div className="tcolid" >102</div>
            <div className="tcolname">Abc</div>
            <div className="tcolgender">F</div>
          </div>

          <div className="trow">
            <div className="tcolid" >103</div>
            <div className="tcolname">Xyz</div>
            <div className="tcolgender">F</div>
          </div>
          ...
          ...
Run Code Online (Sandbox Code Playgroud)

我的 React 组件使用来自 REST API 的数据。API 可以返回多条男性和/或女性记录。我的要求是确保在 UI 中只呈现一名男性员工。我已经实现了——这不是问题。

当我使用 Jest 和 Enzyme 编写测试时,我想检查渲染时是否只渲染一个值为“M”的 html 元素。

这是我尝试过的 - Jest / Enzyme 不喜欢它。

expect (wrapper.find("div.tcolgender").text()).toEqual("M").toHaveLength(1);
Run Code Online (Sandbox Code Playgroud)

这是行不通的。我查看了 Enzyme API - 没有找到任何“计数”或类似的方法。注意 - 这是“完整”渲染,而不是“浅”渲染。

javascript reactjs jestjs enzyme

3
推荐指数
1
解决办法
2万
查看次数

如何在activemq中桥接主题和队列

总的来说,我对消息传递很陌生,但已经加入了一个大量使用消息传递的支持项目。
因此,该项目使用 Tibco,并且在 Tibco 中,通过使用图形 UI,将主题连接到队列非常容易。
现在我们想要转向活跃的 mq - 并且刚刚开始阅读它 - 我没有找到一种简单的方法来将主题桥接到队列

有任何想法吗 ?
谢谢

activemq-classic jms

1
推荐指数
1
解决办法
7511
查看次数