Tag: unit testing

分组JUnittesting

有没有办法在JUnit中对testing进行分组,以便我只能运行一些组? 还是有可能注释一些testing,然后全局禁用它们? 我正在使用JUnit 4 ,我不能使用TestNG。 编辑: @RunWith和@SuiteClasses伟大的作品。 但是有没有可能像这样只在testing类中进行一些testing呢? 还是我必须注释整个testing类?

依赖地狱 – 如何将依赖关系传递给深度嵌套的对象?

这里是一个通用的想象的例子,弥补了这个职位。 考虑6个class级 TableFactory, TableData, TableCRUD, TableSchema, DBConnect, Logger. TableFactory是外部类,假设它拥有一个DB表的TableData对象。 在这个TableFactory ,不存在对TableSchema或DBConnect或logger调用。 我的目标是在外部范围内不需要的内部对象的例子。 TableData是内部读取和操作的数据,所以它需要TableCrud , DBConnect和Logger 。 TableCrud包含TableSchema并需要DBConnect和Logger 。 DbConnect itseld,使事情变得有趣,需要一个logging器。 我的例子现在是3个范围深。 我的问题是非常简单的,如果你有一个对象3(或更多)范围内的外部范围的对象没有调用,如何将这些对象从外部发送到内部范围而不会破坏接口分离原则 – > TableFactory shouldn不必处理内部对象所需的DBConnect或Logger。 如果一个人遵守基本的面向对象的原则,并且为了易于testing而devise – >你将有外部对象需要注入这5个对象,然后有一个getter方法来把这些对象所需要的东西传递到链上。 而内部作用域对象又需要注入它们内部的3范围深度对象的依赖关系,也需要注入这些对象的getters。 这使得外部作用域对象需要很多的依赖,而getter只是传递这些依赖关系。 除了这种传递物体的方法,还有其他的方法吗? 请分享! 任何链接/评论赞赏。

嘲笑一个单身class

我最近读到,单独做一个class级单元使得不可能嘲笑class级的对象,这使得很难testing它的客户。 我无法立即明白其根本原因。 有人可以解释一下是什么让模拟单身课程变得不可能吗? 另外,还有更多的问题与创build一个类的单身人士?

使用命令行从JUnit类运行单个testing

我正试图find一种方法,使我能够使用命令行和java从JUnit类运行单个testing。 我可以使用下面的命令来运行整套的testing: java -cp …. org.junit.runner.JUnitCore org.package.classname 我真正想做的是这样的: java -cp …. org.junit.runner.JUnitCore org.package.classname.method 要么: java -cp …. org.junit.runner.JUnitCore org.package.classname#method 我注意到可能有方法使用JUnit注释来做到这一点,但我宁愿不要手动修改我的testing类的来源(试图自动执行此操作)。 我也看到,Maven可能有办法做到这一点,但如果可能的话,我想避免取决于Maven。 所以我想知道是否有办法做到这一点? 我正在寻找的关键点: 能够从JUnittesting类运行单个testing 命令行(使用JUnit) 避免修改testing源 避免使用其他工具

任何build议在浏览器中testingextjs代码,最好用selenium?

我们一直在使用selenium大获成功来处理高级别的网站testing(除了在模块级别的广泛的python doctests)。 但是现在我们在很多页面上使用extjs,并且很难将Seleniumtesting用于像网格这样的复杂组件。 有没有人有成功编写基于extjs的网页自动化testing? 许多谷歌search发现有类似问题的人,但很less有答案。 谢谢!

如何使用Assert来validation是否抛出exception?

如何使用Assert(或其他Test类?)来validation是否抛出exception?

最后的方法嘲笑

我需要使用mockito嘲笑一些最终的方法。 我写过这样的东西 @Test public void test() { B b = mock(B.class); doReturn("bar called").when(b).bar(); assertEquals("must be \"overrided\"", "bar called", b.bar()); //bla-bla } class B { public final String bar() { return "fail"; } } 但是失败了。 我尝试了一些“黑客”,它的工作原理。 @Test public void hackTest() { class NewB extends B { public String barForTest() { return bar(); } } NewB b […]

用Mockitotesting一个新的()调用

我有一个遗留类,其中包含一个new()调用来实例化一个LoginContext(): public class TestedClass { public LoginContext login(String user, String password) { LoginContext lc = new LoginContext("login", callbackHandler); } } 我想用Mockito来testing这个类来模拟LoginContext,因为它需要在实例化之前设置JAAS安全性的东西,但是我不确定如何在不改变login()方法来外部化LoginContext的情况下如何做到这一点。 是否有可能使用Mockito模拟LoginContext类?

将数据注入到WCF服务

我有像Miguel Castrobuild议的WCF服务。 这意味着我已经手动设置了一切,并有一个控制台应用程序托pipe我的服务使用ServiceHost对象。 我想保持我的服务类的精简,他们目前只是将调用传递给行为类。 我现在的问题是unit testing服务类。 我想注入一些东西作为一个构造参数的类,我可以嘲笑这一点,并写出适当的隔离unit testing。 ServiceHost类似乎不接受参数,所以我的问题是如何可以将数据注入服务类 – 或者我不能?

嘲笑Asp.net-mvc控制器上下文

所以控制器上下文取决于一些asp.net内部。 有什么方法可以干净地模拟这些unit testing? 似乎很容易阻塞testing吨设置时,我只需要,例如,Request.HttpMethod返回“GET”。 我在网上看过一些例子/帮手,但有些是过时的。 认为这将是保持最新和最好的一个好地方。 我正在使用最新版本的犀牛嘲笑