
正文
java代码测试框架 java代码在线测试
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java中框架Junit应该怎么使用?
JUnit
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
更多JUnit信息
Cactus
Cactus是一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。Cactus框架的主要目标是能够单元测试服务端的使用Servlet对象的Java方法如HttpServletRequest,HttpServletResponse,HttpSession等
更多Cactus 信息
Abbot
Abbot是一个用来测试Java GUIs的框架。用简单的基于XML的脚本或者Java代码,你就可以开始一个GUI。
更多Abbot信息
JUnitPerf
Junitperf实际是junit的一个decorator,通过编写用于junitperf的单元测试,我们也可使测试过程自动化。
更多JUnitPerf信息
DbUnit
DbUnit是为数据库驱动的项目提供的一个对JUnit 的扩展,除了提供一些常用功能,它可以将你的数据库置于一个测试轮回之间的状态。
更多DbUnit信息
Mockrunner
Mockrunner用在J2EE环境中进行应用程序的单元测试。它不仅支持Struts actions, servlets,过滤器和标签类还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。
更多Mockrunner信息
DBMonster
DBMonster是一个用生成随机数据来测试SQL数据库的压力测试工具。
更多DBMonster信息
MockEJB
MockEJB是一个不需要EJB容器就能运行EJB并进行测试的轻量级框架。
更多MockEJB信息
StrutsTestCase
StrutsTestCase 是Junit TestCase类的扩展,提供基于Struts框架的代码测试。StrutsTestCase同时提供Mock 对象方法和Cactus方法用来实际运行Struts ActionServlet,你可以通过运行servlet引擎来测试。因为StrutsTestCase使用ActionServlet控制器来测试你的代码,因此你不仅可以测试Action对象的实现,而且可以测试mappings,from beans以及forwards声明。StrutsTestCase不启动servlet容器来测试struts应用程序(容器外测试)也属于Mock对象测试,但是与EasyMock不同的是,EasyMock是提供了创建Mock对象的API,而StrutsTest则是专门负责测试Struts应用程序的Mock对象测试框架。
更多StrutsTestCase信息
JFCUnit
JFCUnit使得你能够为Java偏移应用程序编写测试例子。它为从用代码打开的窗口上获得句柄提供了支持;为在一个部件层次定位部件提供支持;为在部件中发起事件(例如按一个按钮)以及以线程安全方式处理部件测试提供支持。
更多JFCUnit信息
JTestCase
JTestCase 使用XML文件来组织多测试案例数据,声明条件(操作和期望的结果),提供了一套易于使用的方法来检索XML中的测试案例,按照数据文件的定义来声明结果。
更多JTestCase信息
SQLUnit
SQLUnit是一个单元测试框架,用于对数据库存储过程进行加归测试。用 Java/JUnit/XML开发。
更多SQLUnit信息
JTR
JTR (Java Test Runner)是一个开源的基于反转控制(IOC)的J2EE测试框架。它允许你构建复杂的J2EE测试套件(Test Suites)并连到应用服务器执行测试,可以包括多个测试实例。JTR的licensed是GPL协议。
更多JTR信息
Marathon
Marathon是一个针对使用Java/Swing开发GUI应用程序的测试框架,它由recorder, runner 和 editor组成,测试脚本是python代码。Marathon的焦点是放在最终用户的测试上。
更多Marathon信息
TestNG
TestNG是根据JUnit 和 NUnit思想而构建的一个测试框架,但是TestNG增加了许多新的功能使得它变得更加强大与容易使用比如:
*支持JSR 175注释(JDK 1.4利用JavaDoc注释同样也支持)
*灵活的Test配置
*支持默认的runtime和logging JDK功能
*强大的执行模型(不再TestSuite)
*支持独立的测试方法。
更多TestNG信息
Surrogate Test framework
Surrogate Test framework是一个值得称赞单元测试框架,特别适合于大型,复杂Java系统的单元测试。这个框架能与JUnit,MockEJB和各种支持模拟对象(mock object )的测试工具无缝给合。这个框架基于AspectJ技术。
更多Surrogate Test framework信息
MockCreator
MockCreator可以为给定的interface或class生成模拟对象(Mock object)的源码。
更多MockCreator信息
jMock
jMock利用mock objects思想来对Java code进行测试。jMock具有以下特点:容易扩展,让你快速简单地定义mock objects,因此不必打破程序间的关联,让你定义灵活的超越对象之间交互作用而带来测试局限,减少你测试地脆弱性。
更多jMock信息
EasyMock
EasyMock为Mock Objects提供接口并在JUnit测试中利用Java的proxy设计模式生成它们的实例。EasyMock最适合于测试驱动开发。
更多EasyMock信息
Grinder
Grinder是一个开源的Java负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。
支持用于执行测试脚本的Jython脚本引擎
HTTP测试可通过HTTP代理进行管理。
更多Grinder信息
XMLUnit
XMLUnit不仅有Java版本的还有.Net版本的。Java开发的XMLUnit提供了两个JUnit 扩展类XMLAssert和XMLTestCase,和一组支持的类。这些类可以用来比较两张XML之间的不同之处,展示XML利用XSLT来,校验XML,求得XPath表达式在XML中的值,遍历XML中的某一节点利DOM展开,
更多XMLUnit信息
Jameleon
Jameleon一个自动化测试工具。它被用来测试各种各样的应用程序,所以它被设计成插件模式。为了使整个测试过程变得简单Jameleon提供了一个GUI,因此Jameleon实现了一个Swing 插件。
更多Jameleon信息
J2MEUnit
J2MEUnit是应用在J2ME应用程序的一个单元测试框架。它基于JUnit.
更多J2MEUnit信息
Jetif
Jetif是一个用纯Java实现的回归测试框架。它为Java程序单元测试以及功能测试提供了一个简单而且可 伸缩的架构,可以用于个人开发或企业级开发的测试。它容易使用,功能强大,而且拥有一些企业级测试的 重要功能。Jetif来源于JUnit, JTestCase以及TestNG的启发,有几个基本的概念直接来自于JUnit, 比如说断言机制,Test Listener的概念,因此从JUnit转到Jetif是非常容易的。
更多Jetif信息
GroboUtils
GroboUtils使得扩展Java测试变得可能。它包括用在Java不同方面测试的多个子项目。在GroboUtils中最常被到的工具是:多线程测试(multi-threaded tests),整体单元测试(hierarchial unit tests),代码覆盖工具(code coverage tool)。
更多GroboUtils信息
Testare
TESTARE是用来简化分布式应用程序(比如:在SERVLETS,JMS listeners, CORBA ORBs或RMI环境下)测试开发过程的一个测试框架.
更多Testare信息
MockLib
MockLib是一个很小的包所以可容易地动态创建一个模拟对象.你可以从模拟的系统中抛出异常来确保你的系统能够正确处理错误.它同样也是一个线程安全的模拟对象库.
更多MockLib信息
JellyUnit
JellyUnit是一个基于Jelly的JUnit测试机制.它允许用Jelly脚本来完成单元测试.尤其是对于XML,XPath,SQL,HTTP,JMS和SOAP交互的测试特别有用.
更多JellyUnit信息
Pisces
这个项目继承于JUnit目的是提供一个分布式的测试环境.它给开发者/测试人员一个运行远程JUnits和复杂测试案例的能力,这个案例由几个并行运行的远程JUnit测试组成。
更多Pisces信息
JUnitEE
JUnitEE是对JUnit的一个简单扩展,可以支持在一个J2EE应用程序服务器上执行标准的测试案例。它主要由一个把测试结果输出为html的servlet组成。
更多JUnitEE信息
相关问答
Q1: 怎样选择Java测试框架的介绍
TestNG和JUnit是针对Java语言的两个比较常用的测试框架。JUnit出现的比较早,但是早期的JUnit 3对测试代码有非常多的限制,使用起来很不方便,后来的JUnit 4得到很大的改进。TestNG的出现介于JUnit 3和JUnit 4,但是TestNG在很多方面还要优于JUnit 4。下面从整体上对TestNG和JUnit 4进行比较全面的比较。
TestNG与JUnit的相同点:
使用annotation,且大部分annotation相同。
都可以进行单元测试(Unit test)。
都是针对Java测试的工具。
TestNG与JUnit的不同点:
JUnit只能进行单元测试,TestNG可以进行单元测试(unit test),功能测试(function test),端到端测试(e2e test),集成测试(Integration test)等。
TestNG需要一个额外的xml配置文件,配置测试的class、method甚至package。
TestNG的运行方式更加灵活:命令行、ant和IDE,JUnit只能使用IDE。
TestNG的annotation更加丰富,比如@ExpectedExceptions、@DataProvider等。
测试套件运行失败,JUnit 4会重新运行整个测试套件。TestNG运行失败时,会创建一个XML文件说明失败的测试,利用这个文件执行程序,就不会重复运行已经成功的测试。
TestNG比JUnit 4灵活性的体现:
JUnit 4中必须把@BeforeClass修饰的方法声明为public static,这就限制了该方法中使用的变量必须是static。而TestNG中@BeforeClass修饰的方法可以跟普通函数完全一样。
JUnit 4测试的依赖性非常强,测试用例间有严格的先后顺序。前一个测试不成功,后续所有的依赖测试都会失败。TestNG 利用@Test 的dependsOnMethods属性来应对测试依赖性问题。某方法依赖的方法失败,它将被跳过,而不是标记为失败。
对于n个不同参数组合的测试,JUnit 4要写n个测试用例。每个测试用例完成的任务基本是相同的,只是受测方法的参数有所改变。TestNG的参数化测试只需要一个测试用例,然后把所需要的参数加到TestNG的xml配置文件中。这样的好处是参数与测试代码分离,非程序员也可以修改参数,同时修改无需重新编译测试代码。
为了测试无法用String或原语值表示的复杂参数化类型,TestNG提供的@DataProvider使它们映射到某个测试方法。
JUnit 4的测试结果通过Green/Red bar体现,TestNG的结果除了Green/Red bar,还有Console窗口和test-output文件夹,对测试结果的描述更加详细,方便定位错误。
简单说就是TestNG比Junit强大, 但是那些更强大的功能你全部都用不到的话, 那你还是就用junit, 比较简单, 国人用的多, 出了问题中文也比较好查. 英文还不错并且有想要了解除了单元测试以外的测试的话, 就用TestNG吧
Q2: 北大青鸟java培训:JavaScript代码测试必备的12款工具?
1、JasmineJasmine是一个行为驱动的测试开发框架,用于对JavaScript代码进行测试。
它不依赖其它任何JavaScript框架,也不需要DOM。
它的语法简洁、明确,写测试非常容易。
2、MochaMocha是一个功能丰富的JavaScript测试框架,既运行于Node.js环境中,也可以运行于浏览器环境中。
Mocha以串行方式运行测试,能做出灵活而准确的报告,也能将测试中未捕捉的异常映射到正确的测试用例。
3、ChaiChai是个支持BDD/TDD的库,可用于node和浏览器,可配合任何JavaScript测试框架使用。
4、QUnitQUnit是个功能强大又易于使用的JavaScript单元测试框架。
jQuery、jQueryUI和jQueyMobile项目都使用这个框架,它能测试普通的JavaScript代码。
5、SinonSinon.JS为JavaScript提供了独立的spies、stubs和mocks[译者注:Spy、Stub和Mock都是测试专用名词,Stub常被翻译为桩,spies是Spy的复数形式,是一种可以监视方法、调用和参数的技术]。
它不依赖任何东西,可以配合任何单元测试框架工作。
6、KarmaKarma是针对连通浏览器的一个框架无关测试运行器。
每一个测试结果对应每个浏览器,它的测试和显示都是通过命令行暴露给开发者的,这样他们就可以看到浏览器测试的通过或失败。
7、SeleniumSelenium有一个简单的目标:就是自动化浏览器。
它主要用于自动化测试web应用程序,但是只是很简单地考虑到了基于网络的管理任务。
8、WebdriverIOWebdriverIO允许用户仅添加几行代码就可以控制浏览器或移动应用程序,使测试代码更简单、简洁、易读。
集成的TestRunner同样允许你以同步的方式调用异步命令,这样你不需要关心如何处理Promise以避免竞态条件。
此外,它取消了所有的繁琐的设置工作,并且会为您管理的Selenium会话。
9、NightwatchNightwatch.js是一个易于使用的Node.js,它是为基于浏览器的app和网站设计的终端到终端(E2E)的测试方法。
它使用强大的W3CWebDriverAPI,用于在DOM元素上执行命令和断言。
10、PhantomCSSPhantomCSS获得CasperJS捕获的屏幕截图,并使用Resemble.js将其与基准图进行对比,以测试RGB像素差异。
java课程发现PhantomCSS然后生成图像差异对比,用于帮助您找到原因。
11、PhantomFlowPhantomFlow使用决策树提供UI测试方案。
针对PhantomJS,CasperJS和PhantomCSS的NodeJS包装器——PhantomFlow能够流畅地在代码中描述用户流程,同时生成用于可视化的结构化树数据。
Q3: 现在有什么好用的java开发框架
分享10个最好的工具、框架和库,以帮助 Java 开发人员在不同的 Java 项目中更好地执行单元测试和集成测试。
▌JUnit
JUnit 应该不需要过多介绍。哪怕你是一位 Java 初学者,我想你也应该听说过它,它能够让你为 Java 代码编写单元测试。
几乎所有常用的 IDE,比如 Eclipse、NetBeans 和 IntelliJ,都能够集成 JUnit,这意味着开发者直接可以在这些 IDE 中编写并运行单元测试。
目前大多数人仍然在使用 JUnit 4,事实上新的 JUnit 5 已经发布。你可以用 JUnit 进行单元测试和集成测试,此外,它还支持 Java 8 功能。
▌REST Assured
相比于 Groovy 这类动态语言,在 Java 中测试和验证 REST 服务更难。
REST Assured 为 Java 带来了这些语言的简单性。这对于 REST API 集成测试来说是一个很好的工具。
▌Selenium
Selenium 应该是最受欢迎的 Java UI 测试工具,有了它,你不需要在浏览器中启动 JSP 页面即可对其进行测试。
你可以使用 JUnit 和 Selenium 来测试 Web 应用程序 UI。还可以使用它进行 Web 应用程序验收测试。
▌TestNG
TestNG 这款测试框架最早源于 JUnit 和 NUnit 的启发,但它在这两者的基础上引入了许多新的功能,其功能更强大,也更易于使用,提供了注解功能,支持在任意大型线程池中运行各种可用策略的测试(所有方法都在自己的线程中,每个测试类对应一个线程)。
随着 JUnit 4 中注解功能的引入以及 Hamcrest 框架的整合,JUnit 4 和 TestNG 之间的差距已经很小。
▌Mockito
Java 有许多 Mock 框架,例如 PowerMock 和 JMock,但我个人更喜欢 Mockito,它具有简单的 API、优秀的文档以及大量示例。
Mock 测试是现代单元测试的关键技术之一,开发者不需要依赖其他情况也可独立测试代码,因此我建议每个 Java 开发人员都应该学习 Mock 框架来与 JUnit 结合使用。
我个人最喜欢的 Mock 框架是 Mockito,如果你喜欢的话,也可以了解一下 PowerMock或者 JMock。
▌Spock 框架
Spock 是一款用于 Java 和 Groovy 应用程序的测试和规范框架。它用 Groovy 编写,因此它具有很强的表现力,并且非常规范。
使用 Spock 时,测试将变得更加易读易维护。此外,得益于它的 JUnit 运行器,Spock能够兼容大多数 IDE、构建工具和持续集成服务器。
不过遗憾的是,线上讲述 Spock 框架的课程好像不多,“使用 Spock 进行 Java 测试”这本书倒是一个不错的学习资源。
▌Cucumber
Cucumber 是一款很好的自动化集成测试工具,与其他同类工具相比,它的规范功能是一大特色。
Cucumber 将规范和测试文档合并为一个文档,由于文档也会被 Cucumber 自动测试,因此规范文档始终会被更新为最新版本。
▌Spring 测试
Spring MVC 自带了一个非常有用的测试框架,可以在不涉及 Web 容器的情况下进行深入测试。
这个是一个非常有用的库,可以为 Spring 应用程序编写自动化测试。它为 Spring 应用程序(包括 MVC 控制器)编写单元和集成测试提供了强有力的支持。
还有一个 Spring Test DbUnit,它将 Spring 测试框架与 DbUnit 以及 HtmlUnit 集成在了一起。
使用这些工具,你可以轻松完成 Spring MVC 应用程序的自动化测试。
▌DBUnit
对于大多数的 Java 应用程序,不管是核心 Java 程序还是 Java Web 应用,数据库都是其不可或缺的重要组成部分,并且数据库还很可能是单元测试的最大障碍。
连接到 Dev 或者 UAT 数据库进行集成测试是不可靠的,因为任何人都可以更改数据和模式,比如表和存储过程,这都会导致自动化集成测试的失败。
DbUnit 是 JUnit 的扩展,在每次集成测试之前它可以将数据库初始化为已知状态,从而确保数据库包含正确的数据。
DbUnit 是一个非常有用的工具,它可以帮助我们将测试数据和测试代码分开。
▌Robot 框架
Robot 框架是一个基于 Python 的通用自动化测试框架,主要用于验收测试以及验收测试驱动开发。
它采用表格测试数据语法,是一个关键字驱动的测试框架。分布式异构应用程序的验证往往需要多种技术和接口,非常适合用 Robot 来测试。
Q4: 怎样选择Java测试框架 JUnit还是TestNG?
TestNG仍然是我最喜欢的,而且它仍然保持更新。现在在开源的Java测试框架中仍然有新进者,easyb,一个基于Groovy行为驱动开发的测试工具,为Java和Groovy测试。通过编写合理的测试或是假定一个任务,它可以视为一种规范尽管它是可执行代码。如果你在Ruby世界中使用Rspec一样。 为什么JUnit仍然是首选——Aslam Khan像许多人开始测试驱动开发和单元测试一样,我也是从JUnit3.x起步的。我发现JUnit是最广泛的工具,出现在各种不同的地方(ANT,Maven,Eclipse,IntelliJ IDEA, 等)。它也很容易介绍给那些新团队。我也使用TestNG对它的多样性同样印象深刻。然而,JUnit的大量插件(dbUnit,xmlUnit等)使得Junit仍然是首选的。如果你花大量的时间在Spring上,那么基于Junit的Srping ApplicationContext aware测试用例会带来优势。为了测试前台,我几乎只使用Selenium.我曾经涉足过Canoo和其他的框架,但是发现这些途径都是反TDD模式的。使用Selenium,我可以处理Selenium测试脚本和记录,给任何需要的人并日后处理。 如果我们谈论的是纯粹的TDD,即书写良好的代码(不仅仅是良好的测试)需要增加一个mock测试。对于mocking,我使用Jmock,它和Junit配合良好,通过基于mock的方式和程序内部边界,我得到了设计良好的,互相通信的对象。这在可读性和可维护性上迈出了重要的一步。EasyMock也不错,但是Jmock是我个人的首选。 从Java世界上溯到Ruby世界中,RSpec很优秀而且也有DSL来描述场景。既然Rbehave已经融合进了Rspec,这样的整合将成为Ruby世界的首选。有趣的是,Rbehave是从Jbehave衍生来来,它是一个行为驱动开发测试框架。
关于java代码测试框架和java代码在线测试的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







