我目前需要创建一个服务器才能运行多个单元测试.为了简化这个过程,我想在运行单元测试(使用@BeforeClass表示法)之前将Tomcat嵌入到我的代码中并加载一个Tomcat实例(后者又加载我的WAR文件).
我的问题是如何将WAR文件部署到嵌入式Tomcat中?
您可能会注意到我无法使用tomcat maven插件,因为我希望它能够与自动化测试一起运行.
我正在我们的系统上运行一些负载测试,我注意到正在执行大量的"SET autocommit = 0"和"SET autocommit = 1"查询.1分钟内大约25,000左右.我试图找出导致这种情况的原因以及如何摆脱它.
我们使用以下技术:
MySQL的
过冬
阿光
弹簧
Tomcat的
我尝试了以下但它似乎没有帮助:
MySQL中的"SET autocommit = 0"
在db连接URL中添加了elideSetAutoCommits属性."JDBC:MySQL的://本地主机/ DB_NAME了useUnicode =真的characterEncoding = UTF-8&pinGlobalTxToPhysicalConnection =真elideSetAutoCommits =真"
有人能指出我可能导致这些查询的原因吗?
有没有办法在使用AssertJ时再次抛出一个方法来检查原因中的消息是否等于某个字符串.
我目前正在做类似的事情:
assertThatThrownBy(() -> SUT.method())
.isExactlyInstanceOf(IllegalStateException.class)
.hasRootCauseExactlyInstanceOf(Exception.class);
Run Code Online (Sandbox Code Playgroud)
并且想添加一个断言来检查根本原因中的消息.