- 浏览: 2473152 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
该类提供的assert方法主要针对数据库的单元测试中, 使用Spring JdbcTemplate得到一个记录集, 然后与实际操作记录进行比对验证
用法(里面借助了Spring的JdbcTemplate来做数据库查询):
public class MyAssert { /** * @param expected * @param actual * @param propertyNames */ public static void assertPropertyEquals(Object expected, Object actual, String... propertyNames) { for (String propertyName : propertyNames) { try { Object expectedValue = PropertyUtils.getProperty(expected, propertyName); Object actualValue = PropertyUtils.getProperty(actual, propertyName); if (expectedValue instanceof Date && actualValue instanceof Date) { Assert.assertEquals(((Date)expectedValue).getTime(), ((Date)actualValue).getTime()); }else { Assert.assertEquals(expectedValue, actualValue); } } catch (Exception e) { throw new RuntimeException("比较" + expected + " 和 " + actual + "的属性" + propertyName + "失败!", e); } } } /** * 指定map中的某个字段的值与期望的值相等 * * @param map * 一条记录 * @param fieldName * 字段名(不区分大小写) * @param expectValue */ @SuppressWarnings("unchecked") public static void assertMapEquals(Map map, String fieldName, Object expectValue) { assertEquals(expectValue + "", map.get(fieldName.toUpperCase()) + ""); } /** * 对实际得到的列表中指定的字段(一般是主键)与期望的值进行比较是否相等 * * @param <T> * @param actualList * @param fieldName * 表的字段或者bean的属性名 * @param expectValues */ @SuppressWarnings("unchecked") public static <T> void assertListEquals(List actualList, String fieldName, T... expectValues) { assertEquals(actualList.size(), expectValues.length); for (Object entry : actualList) { String actualValue = getActualValue(entry, fieldName); boolean found = false; for (T value : expectValues) { if (actualValue.equals(value + "")) { found = true; break; } } if (!found) { Assert.fail("要查找的[" + actualValue + "]在查找到的结果记录集[" + actualList + "]中不存在"); } } } /** * entry可能为两种类型:Map和JavaBean, 分别取出里面指定key或属性的值 * * @param entry * @param fieldName * @return */ @SuppressWarnings("unchecked") private static String getActualValue(Object entry, String fieldName) { Object actualValue; if (entry instanceof Map) { actualValue = ((Map) entry).get(fieldName.toUpperCase()); } else {// 取得指定javabean的某个属性的值 try { actualValue = new PropertyUtilsBean().getSimpleProperty(entry, fieldName); } catch (Exception e) { throw new RuntimeException(e); } } return actualValue + ""; } }
用法(里面借助了Spring的JdbcTemplate来做数据库查询):
Map map = queryForMap("select * from spu where spu_id = " + spu.getId()); MyAssert.assertMapEquals(map, "title", spuMock.getName());
List<Map> list = queryForList("select * from spu_image where spu_id = " + spuMock.getId()); MyAssert.assertListEquals(list, "image_url", otherImageMock.getUrl(), anotherImageMock.getUrl(), spuPropertyImageMock.getUrl());
发表评论
-
Effective Unit Test:代码面前并非人人平等
2012-02-05 15:38 1709这里的观点非常值得探讨, 所有的产品代码就像是一项投资, 有些 ... -
使用Guava Supplier Mock Datetime
2012-02-04 23:35 2806通过下面的例子了解Guava Supplier的用法.在做单元 ... -
对多线程进行测试
2011-07-02 15:31 1418在junit下, 很难对多线程的代码进行测试, 因此需要借助其 ... -
补习一下EasyMock
2010-04-28 09:18 5052最近有时间, 再温习一下easymock相关的东东 http ... -
结合使用Dummy, InjectTo, PartialMock的单元测试
2009-12-24 21:21 1485结合使用Dummy, InjectTo, PartialMoc ... -
使用代码方式运行指定单元测试类及方法
2009-12-17 08:57 1776记一下, 备忘 private void runT ... -
JunitCore
2009-12-15 01:03 0JUnitCore core = new JUnitCore( ... -
修改dbunit的几个bug兼对dbunit进行扩展
2009-12-08 20:51 3198最近在对unitils进行扩展, 主要是数据库这块儿的内容, ... -
让Unitils实现excel下的多数据源支持
2009-12-03 21:02 3955说明:这里的多数据源需要利用spring中配置的多个DataS ... -
unitils中spring module初始化源码解读
2009-12-03 20:32 2659spring module的初始化还算简单, 但是熟悉里面的原 ... -
解决unitils中的dbunit使用spring中定义的多数据源
2009-12-02 20:07 3178最近在研究unitils, dbunit来适应目前的单元测试. ... -
Unitils 学习笔记
2009-11-27 19:44 7796源码部分 EasyMock相关的 有三个注解: Mock ... -
使用classloader自定义测试套件TestSuite
2009-10-21 19:04 2349junit自带了一个suite用来将多个test case放在 ... -
《单元测试之道Java版——使用JUnit》读书笔记
2009-06-09 23:06 3425这个可能是到目前为止 ... -
JunitRunner定制之模仿@Before对属性进行初始化
2009-02-12 21:54 2549在测试的过程中, 会用到一些模拟数据, 希望在每次调用测试方法 ... -
打造自己的单元测试容器——Junit Runner扩展举例
2009-02-05 23:40 6225最近对java的annotation和junit的Runner ... -
junit4源码浅析
2009-02-05 21:12 7354junit3和junit4是两个非常不同的版本, 不能简单的理 ... -
用于生成mock模型对象Setter代码工具类
2009-01-12 10:35 1804最近写的一个工具类, 用来生成mock的javabean对象, ... -
EasyMock最佳实践
2008-12-20 20:43 30136推荐easymock入门贴: 窥探 ... -
JUnit 4新特性笔记
2008-12-11 08:47 2934测试任何可能的错误。 ...
相关推荐
Assert类在单元测试中起着关键作用,它提供了一系列断言方法,如Assert.AreEqual、Assert.IsTrue等,用于判断测试条件是否满足。当断言失败时,Assert会抛出一个AssertFailedException,表明测试失败。 总结来说,...
在"lua busted 单元测试"这个主题中,`koreader-master`这个压缩包很可能包含了一个名为`spec`的目录,这个目录通常用于存放使用Busted编写的测试用例。`spec`目录下的文件可能是以`.lua`结尾,每个文件可能包含多个...
单元测试是一种软件测试方法,它针对程序中的最小可测试单元——通常是一个函数或方法——进行验证。通过编写一系列测试用例,我们可以检查特定功能在不同条件下的行为,确保它们符合预期。 .NET平台提供了多种单元...
在压缩包中的"单元测试示范"可能包含了一个或多个测试文件,每个文件代表一个测试套件,里面包含了针对特定功能或类的多个测试用例。通过查看这些示例,你可以看到如何实际应用上述概念,如定义测试用例、编写断言...
在软件开发中,单元测试是验证代码功能是否正确、独立单元是否按预期工作的关键步骤。Junit作为Java领域最常用的单元测试框架,为开发者提供了简单易用的API来进行测试。本案例涵盖了Spring和Struts两大框架的单元...
总结来说,Spring Boot多模块项目中Service层的单元测试是一个系统的过程,涉及到测试环境搭建、测试类编写、模拟对象的使用以及断言和覆盖率的检查。通过有效的单元测试,我们可以保证Service层的业务逻辑正确,...
单元测试作为软件开发流程中的关键环节,是确保软件质量的基础。在本文中,我们会聚焦于C++语言的单元测试实现,特别是通过Google提供的开源单元测试框架——gtest(又称googletest),来演示如何编写有效的单元测试...
创建一个WinForm的单元测试项目,首先需要安装NUnitForms库。这可以通过NuGet包管理器来完成,搜索"NUnitForms"并添加到项目中。接着,我们需要创建一个测试类,继承自NUnit的`TestFixture`基类,并使用`Test`特性...
Assert类是单元测试中常用的一个工具,它通过比较预期结果与实际结果来验证测试条件。如果条件满足,断言通过,否则抛出AssertFailedException异常,指示测试失败。 二、测试步骤 1. 创建WinForm项目: - 打开VS...
根据提供的文件信息,“单元测试之道Java版.pdf(高清)”主要介绍了在Java开发环境中进行单元测试的方法、策略及最佳实践等内容。以下将基于该文件的标题、描述、标签以及部分内容来详细阐述相关的知识点。 ### ...
谷歌的gtest单元测试框架是一个广泛使用的开源工具,尤其在跨平台的软件开发中扮演着重要角色。这个框架为C++编程语言提供了强大的测试能力,帮助开发者确保代码的正确性和可靠性。gtest的核心理念是通过定义断言...
Android提供了JUnit框架,这是一个广泛用于Java的单元测试库,可以用于编写和运行测试用例。此外,Android Studio集成了TestNG,它提供了更多的功能和灵活性,如测试套件、依赖管理和更丰富的异常处理。使用这些工具...
在本场景中,我们看到的文件列表包含了一个名为"NUnitExample"的项目,这通常是一个使用NUnit框架进行单元测试的例子。 NUnit是一个流行的开源测试框架,适用于.NET平台,包括C#语言。它提供了丰富的断言方法,使得...
NUnit是.NET平台上广泛应用的一个单元测试框架,它提供了丰富的断言方法、测试 fixture、参数化测试以及测试驱动开发(TDD)的支持。通过NUnit,开发者可以编写简洁、可读性强的测试代码,确保应用程序的各个模块按照...
在软件开发领域,尤其是汽车电子软件的开发过程中,单元测试是一项至关重要的质量保证步骤。单元测试是对软件中的最小可测试单元进行检查,通常是函数、方法或类,以确保它们按照预期工作。它有助于早期发现和修复...
在本单元测试实例中,我们将探讨如何针对C#应用程序中的特定功能编写单元测试代码。主要涉及以下几个关键知识点: 1. **单元测试**:单元测试是一种软件开发实践,它允许开发者独立地测试代码的各个部分,确保每个...
以下是一个简单的`MSTest`单元测试示例,用于测试`Account`类的`Deposit`和`Balance`方法: ```csharp [TestClass] public class AccountTest { [TestMethod] public void TestDeposit() { // 初始化账户 ...
`bash-assert`就是一个针对Bash脚本的轻量级单元测试框架,它使得在Bash环境中进行单元测试变得更为便捷。 `bash-assert`框架提供了一系列的断言函数,这些函数用于验证脚本中不同部分的行为是否符合预期。通过这些...