junit

浅谈单元测试

好久不见. 提交于 2020-02-27 14:28:28
单元测试或是最好的项目文档。 很早之前在学习使用Java做测试的时候,得到过一个神秘大佬的帮助,在一起聊过单元测试,基本结论就是:单元测试大概率没啥鸟用。 众所周知,自动化测试相比手动测试一个比较明显的特点就是见效慢,需要积累一定的时间所产生的的价值才能超过手动测试,这还是在比较理想的情况下。某些时候可能永远也超不过。而单元测试更甚,据大佬和吹牛逼的群聊中判断:好的单元测试代码大概是被测代码的2-3倍,这种工作量对于开发人员来讲是不可接受的。单元测试见效比自动化测试更慢,这一点也是大家的共识,甚至到不了见效的时候就黄了。 之前对单元测试进行过一些尝试,写过一点文章: Maven和Gradle中配置单元测试框架Spock Groovy单元测试框架spock基础功能Demo Groovy单元测试框架spock数据驱动Demo 人生苦短?试试Groovy进行单元测试 使用WireMock进行更好的集成测试 如何测试这个方法--功能篇 如何测试这个方法--性能篇 单元测试用例 JUnit 5和Selenium基础(一) JUnit 5和Selenium基础(二) JUnit 5和Selenium基础(三) 近几日一直在对之前的性能测试框架进行优化,在这个过程中,我之前利用Groovy单元测试框架spock写过的两个性能测试框架的单元用例起到了非常大的帮助

Android上的MVC模式

和自甴很熟 提交于 2020-02-27 13:31:37
是否可以在Android版Java中实现模型-视图-控制器模式? 还是已经通过活动实施了? 还是有更好的方法来为Android实现MVC模式? #1楼 我认为最有用的简化说明在这里: http : //www.cs.otago.ac.nz/cosc346/labs/COSC346-lab2.2up.pdf 从我在这里看到和阅读的所有其他内容来看,实现所有这些东西会使它变得更加困难,并且与android的其他部分不太匹配。 通过活动实现其他侦听器已经是Android的标准方法。 最无害的方法是像幻灯片中描述的那样添加Java Observer,并将onClick和其他类型的操作分组为仍在Activity中的功能。 Android的方式是Activity可以同时执行。 对抗它并没有真正使扩展或将来编写代码变得更加容易。 我同意 第二个职位 。 它已经实现了,而不是人们习惯的方式。 无论是否在同一文件中,都已经存在分隔。 无需创建额外的分隔符以使其适合其他语言和操作系统。 #2楼 经过一番搜索,最合理的答案如下: MVC已在Android中实现为: View =布局,资源和诸如 android.view.View 派生的 Button 类的内置类。 控制器=活动 模型=实现应用程序逻辑的类 (顺便说一下,这意味着活动中没有应用程序域逻辑。) 对于小型开发人员而言

eclipse中Maven构建项目时Junit Could not create test 'xxx' ,Junit测试无法创建测试

混江龙づ霸主 提交于 2020-02-27 11:29:25
@[toc](eclipse中Maven构建项目时Junit Could not create test 'xxx' ,Junit测试无法创建测试) junit.framework.AssertionFailedError: Could not create test 'xxx' ,junit无法创建测试 错误信息如下: junit.framework.AssertionFailedError: Could not create test 'xxx' at junit.framework.Assert.fail(Assert.java:57) at junit.framework.TestCase.fail(TestCase.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader$1.runTest(JUnit3TestLoader.java:177) at junit.framework.TestCase.runBare(TestCase.java:141) at junit.framework.TestResult$1.protect(TestResult.java:122) at junit.framework.TestResult.runProtected(TestResult

SpringBoot整合Junit

久未见 提交于 2020-02-27 11:02:57
springboots使用的版本是2.0.1,注意不同版本可能有差异,并不一定通用 添加Junit的起步依赖:如果是使用idea快速创建SpringBoot项目,那么pom文件中已经有了测试的起步依赖 <!--测试的起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 编写测试类: @RunWith(SpringRunner.class) @SpringBootTest(classes = MySpringBootApplication.class) public class MapperTest { @Autowired private UserMapper userMapper; @Test public void test() { List<User> users = userMapper.queryUserList(); System.out.println(users); } }   SpringRunner继承自SpringJUnit4ClassRunner,使用哪一个Spring提供的测试引擎都可以 public final

搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)

别说谁变了你拦得住时间么 提交于 2020-02-27 05:21:52
一、环境准备 Jenkins: 到官网下载jenkins.war包: http://jenkins-ci.org/ 安装方法有两种: 把下载下来的jenkins.war包放到文件夹下,如C:\jenkins,然后打开命令行窗口并进到该目录下,执行java -jar jenkens.war命令,当提示:“Jenkins is fully up and running”时,表示启动成功,这时在浏览器窗口输入:http://localhost:8080/ 就可到jenkins的首页。 如果有tomcat,把jenkins.war包放在tomcat的webapps文件夹下,启动tomcat时会自动启动jenkins,这时通过http://localhost:8080/jenkins就 可以访问jenkins的首页了。 ANT:       下载ant并配置ANT_HOME,官网: http://ant.apache.org/ 。   3、Junit:       下载junit.jar包,没用过的可参考: http://blog.csdn.net/lengyuhong/article/details/5815017   4、SVN:       1、用本地硬盘当SVN仓库: http://wenku.baidu.com/view/12b02f6a011ca300a6c39081.html

JUnit5的启动

跟風遠走 提交于 2020-02-27 04:41:50
还发现有好帖: JUnit 5 简介,第 1 部分 第 2 部分 Launcher概述 Launcher是JUnit5的启动类,也是对启动进行扩展的主要入口,扩展通过实现自定义的TestEngine来自定义测试类的发现和执行逻辑以达到定制化测试的目的 Launcher启动示例代码 public static void main(String[] args) { //设置搜索和过滤规则 LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors( selectPackage("zj"), selectClass(*MyTest.class) ) .filters( includeClassNamePatterns(".*Tests") ) .build(); Launcher launcher = LauncherFactory.create(); // Register a listener of your choice //通过监听器来监听获取执行结果 TestExecutionListener listener = new SummaryGeneratingListener(); launcher.registerTestExecutionListeners

day01(Junit,反射,注解)

我的未来我决定 提交于 2020-02-27 04:02:39
# 今日内容 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。 * Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 * 建议: * 方法名:test测试的方法名 testAdd() * 返回值:void * 参数列表:空参 3. 给方法加@Test 4. 导入junit依赖环境 * 判定结果: * 红色:失败 * 绿色:成功 * 一般我们会使用断言操作来处理结果 * Assert.assertEquals(期望的结果,运算的结果); * 补充: * @Before: * 修饰的方法会在测试方法之前被自动执行 * @After: * 修饰的方法会在测试方法执行之后自动被执行 反射:框架设计的灵魂 * 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码 * 反射:将类的各个组成部分封装为其他对象,这就是反射机制 * 好处: 1. 可以在程序运行过程中,操作这些对象。 2. 可以解耦,提高程序的可扩展性。 *

0109 springboot的部署测试监控

為{幸葍}努か 提交于 2020-02-27 03:54:37
springboot的部署测试监控 <a name="SaqiM"></a> 部署 基于maven <a name="uyUMY"></a> 打包 <a name="YTzju"></a> JAR 打包方式一般采用的jar包,使用springboot的默认方式即可; 使用maven命令: mvn clean package -Dmaven.test.skip=true 执行成功之后,可以在对应的target目录下找到对应的包,比如: eg-zuul-0.0.1-SNAPSHOT.jar <a name="BNUeE"></a> WAR <a name="57FgJ"></a> 运行 <a name="2eysI"></a> 内置容器运行 springboot内置了web container容器 tomcat, 可以直接使用 java -jar命令运行; 例如: java -jar xxx/target/eg-zuul-0.0.1-SNAPSHOT.jar <a name="8Fw9B"></a> 外置容器运行 也可使用war的方式,使用外置的tomcat运行,不过代码需要改造一下:<br /> 1 改造打包方式 <br />打包方式改为 war包;<br />在pom.xml中,在version标签的下面添加配置: <package>war</package> 2 添加改造启动代码

No auto configuration classes found in META- INF/spring.factories

北慕城南 提交于 2020-02-27 02:01:23
我在用IDEA做实验时,发现一个问题: 在IDEA中调试一切都OK,当我通过IDEA做成可执行的jar时,在命令行运行时出现:java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories,根据网上所说,删除META-INF目录,project setting中 Artifacts-->Manifest File目录重新设置在src目录下,然后再用IDEA的右侧MAVEN-->Lifecycle-->package重新打包,发现downloading surefire-junit-platform-2.22.2.pom BUILD FAILURE ,因为我的IDEA设置为readhat下载源,我d在IDEA中打开setting.xml(另外,IDEA中setting-->Building tools-->Maven的Use plugin registry也勾选了(${user.home}/.m2/plugin-registry.xml来管理plugin的版本,就设置为true )),然后我将setting.xml中的源设置为阿里。具体设置如下: <profiles> <profile> <id>redhat-ga-repository</id>

聊聊artemis对junit的支持

强颜欢笑 提交于 2020-02-27 01:07:12
序 本文主要研究一下artemis对junit的支持 TestRule junit-4.12-sources.jar!/org/junit/rules/TestRule.java public interface TestRule { /** * Modifies the method-running {@link Statement} to implement this * test-running rule. * * @param base The {@link Statement} to be modified * @param description A {@link Description} of the test implemented in {@code base} * @return a new statement, which may be the same as {@code base}, * a wrapper around {@code base}, or a completely new Statement. */ Statement apply(Statement base, Description description); } TestRule定义了apply方法用于修改并返回Statement ExternalResource junit-4.12