Java Junit和EasyMock理解澄清
现在我仍然在使用JUnit,我遇到了EasyMock,我知道这两者都是为了相同的目的。 我的理解正确吗 与Junit相比,EasyMock有哪些优势 哪一个更容易配置 EasyMock有任何限制吗Java Junit和EasyMock理解澄清,java,unit-testing,junit,mocking,easymock,Java,Unit Testing,Junit,Mocking,Easymock,现在我仍然在使用JUnit,我遇到了EasyMock,我知道这两者都是为了相同的目的。 我的理解正确吗 与Junit相比,EasyMock有哪些优势 哪一个更容易配置 EasyMock有任何限制吗 请帮我学习它们不是一回事 JUnit是一个测试框架——它有一个测试运行程序,可以循环测试套件,执行每个自动单元测试并记录结果 EasyMock是一个很好的例子。它用于将难以设置的合作者替换为假人/赝品/模拟品,以帮助关注我打算测试的行为。 e、 g.如果我的SUT.AuditCustomers()调用
请帮我学习它们不是一回事 JUnit是一个测试框架——它有一个测试运行程序,可以循环测试套件,执行每个自动单元测试并记录结果 EasyMock是一个很好的例子。它用于将难以设置的合作者替换为假人/赝品/模拟品,以帮助关注我打算测试的行为。
e、 g.如果我的SUT.AuditCustomers()调用DAO.GetCustomer(databasePath),在我的测试中,我想重点关注方法AuditCustomers(),因此我会使用mockDAO,它不会从数据库中读取客户,而是返回已知/硬编码的客户对象以便于测试。这还有一个好处,即GetCustomer中的任何bug都不会使AuditCustomers()的测试失败。我不确定,但我认为JUnit和EasyMock应该协同工作,而不是相互排斥。 JUnit的思想是测试一个给定的方法,因此您希望将其他类的虚拟实例注入其中,以确保JUnit测试完全不依赖于其他类方法。EasyMock和其他类似的模拟对象创建者提供JUnit中的模拟对象。使用spring将虚拟实现注入JUnit时也使用了类似的思想
EasyMock似乎很有希望,但您应该评估Spring或其他代理对象生成器是否适合您的场景 当我解释单元测试时,我喜欢将它们描述为一系列阶段:
- 测试设置:定义和创建测试所需的所有数据和对象
- 期望值:说出您期望在测试期间执行的方法和参数
- 测试:要测试的实际行为/方法调用
- 断言:确保测试结果成功的声明
- 测试拆除:销毁测试期间发生的任何副作用
- TestNG
- jtest
- jBehave(有点)
- jDave(有点)
- PHP-phpUnit
- Ruby-Test::Unit
- Flash-FlexUnit
- 轻松的
- 杰莫克
- 杰莫基特
- 录制重播-EasyMock
- 期望-jMock,jMockIt