Tag: junit

如何一起使用JUnit和Hamcrest?

我无法理解JUnit 4.8应该如何与Hamcrest匹配器一起工作。 org.hamcrest.CoreMatchers junit-4.8.jar中定义了一些匹配器。 同时, org.hamcrest.Matchers 其他一些matcher也在hamcrest-all-1.1.jar中。 那么,去哪里? 我应该明确地将Hamcrest JAR包含到项目中,而忽略JUnit提供的匹配器吗? 特别是,我对empty()匹配器感兴趣,并且无法在这些jar中find它。 我需要别的东西? 🙂 还有一个哲学问题:为什么JUnit将org.hamcrest包纳入自己的发行版,而不是鼓励我们使用原始的hamcrest库?

使用Androidtesting框架进行Android AsyncTasktesting

我有一个非常简单的AsyncTask实现示例,并且在使用Android JUnit框架testing它时遇到问题。 当我在正常的应用程序中实例化并执行它时,它工作得很好。 然而,当它从任何Androidtesting框架类(即AndroidTestCase , ActivityUnitTestCase , ActivityInstrumentationTestCase2等)执行它奇怪的行为: – 它正确执行doInBackground()方法 – 但它不会调用任何通知方法( onPostExecute() , onProgressUpdate ()等) – 只是默默地忽略它们而不显示任何错误。 这是非常简单的AsyncTask示例: package kroz.andcookbook.threads.asynctask; import android.os.AsyncTask; import android.util.Log; import android.widget.ProgressBar; import android.widget.Toast; public class AsyncTaskDemo extends AsyncTask<Integer, Integer, String> { AsyncTaskDemoActivity _parentActivity; int _counter; int _maxCount; public AsyncTaskDemo(AsyncTaskDemoActivity asyncTaskDemoActivity) { _parentActivity = asyncTaskDemoActivity; } @Override protected void onPreExecute() […]

如何testing一个Android库项目

我正在编写基于Android位图类(称为AndroindLib),其中只包含实用程序类(无活动)的Android库项目。 我试图使用Android JUnit进行testing,但它一直抱怨找不到AnroidLib.apk 什么是unit testingAndroid库项目的正确方法?

在unit testing期间填充Spring @Value

我正在为我的程序中使用的一个简单的bean编写unit testing来validation表单。 该bean用@Component注解,并有一个类variables,它是使用@Value("${this.property.value}") private String thisProperty;初始化@Value("${this.property.value}") private String thisProperty; 我想为这个类中的validation方法编写unit testing,但是,如果可能的话,我想这样做,而不使用属性文件。 我背后的推理是,如果我从属性文件拉的值发生变化,我希望不会影响我的testing用例。 我的testing用例正在testingvalidation值的代码,而不是值本身。 有没有一种方法可以在我的testing类中使用Java代码来初始化Java类,然后在该类中填充Spring @Value属性,然后使用它来testing? 我没有find这个如何似乎是接近,但仍然使用属性文件。 我宁愿这一切都是Java代码。 谢谢

最佳实践:在setUp()或声明中初始化JUnit类字段?

我应该像这样初始化类字段吗? public class SomeTest extends TestCase { private final List list = new ArrayList(); public void testPopulateList() { // Add stuff to the list // Assert the list contains what I expect } } 或者像这样在setUp()中? public class SomeTest extends TestCase { private List list; @Override protected void setUp() throws Exception { super.setUp(); this.list = new […]

JUnit 4与TestNG – 2013年至2014年更新

JUnit 4和TestNG曾经是可比的。 这两个testing框架的优缺点是什么?

如何使用JUnittesting我的servlet

我已经使用Java Servlets创build了一个Web系统,现在想要进行JUnittesting。 我的dataManager只是将其提交给数据库的基本代码片段。 你将如何用JUnittesting一个Servlet? 我的代码示例,允许用户注册/注册,这是从我的主页通过AJAX提交: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ // Get parameters String userName = request.getParameter("username"); String password = request.getParameter("password"); String name = request.getParameter("name"); try { // Load the database driver Class.forName("com.mysql.jdbc.Driver"); //pass reg details to datamanager dataManager = new DataManager(); //store result as string String result = dataManager.register(userName, password, […]

JUnittesting与dynamic数量的testing

在我们的项目中,我有几个JUnittesting,例如从目录中获取每个文件并对其执行testing。 如果我在TestCase实现了testEveryFileInDirectory方法,那么只会显示一个可能失败或成功的testing。 但是我对每个文件的结果感兴趣。 我怎样才能编写一个TestCase / TestSuite ,使每个文件显示为一个单独的testing,例如在Eclipse的graphics化TestRunner中? (为每个文件编写明确的testing方法不是一种select。) 在Eclipse Testrunner中也将ParameterizedTest与一个名称相比较 。

Junit @ Before / @之后叫什么命令?

我有一个集成testing套件。 我有一个IntegrationTestBase类,用于扩展我所有的testing。 这个基类有一个@Before ( public void setUp() )和@After ( public void tearDown() )方法来build立API和数据库连接。 我一直在做的就是覆盖每个testing用例中的这两个方法,并调用super.setUp()和super.tearDown() 。 然而,如果有人忘记叫超级或把它们放在错误的地方,抛出exception,并忘记在最后或者其他地方调用super,那么这可能会导致问题。 我想要做的是在基类final的setUp和tearDown方法,然后添加我们自己的注释@Before和@After方法。 做一些初始testing,它总是按照这个顺序调用: Base @Before Test @Before Test Test @After Base @After 但我只是有点担心,顺序不能保证,可能会导致问题。 我环顾四周,没有看到有关这个问题的任何事情。 有谁知道我是否可以做到这一点,没有任何问题? 码: public class IntegrationTestBase { @Before public final void setUp() { *always called 1st?* } @After public final void tearDown() { *always called last?* } […]

JUnit:如何避免testing应用程序类中的“不可运行的方法”

我已经从JUnit3.8切换到JUnit4.4。 我运行我的testing使用ant,我所有的testing运行成功,但testing工具类失败,“没有可运行的方法”的错误。 我正在使用的模式是在testing文件夹下包含名称* Test *的所有类。 我知道跑步者找不到任何用@Test属性注解的方法。 但是他们不包含这样的注释,因为这些类不是testing。 令人惊讶的是,在eclipse中运行这些testing时,并不会抱怨这些类。 在JUnit3.8中,这并不是一个问题,因为这些实用程序类没有扩展TestCase,所以跑步者没有试图执行它们。 我知道我可以在ant脚本的junit目标中排除这些特定的类。 但是我不想在每添加一个新的工具类时更改构build文件。 我也可以重新命名课程(但给课堂上好的名字总是我最弱的人才:-)) 有没有这个问题的优雅的解决scheme?