Tag: unit testing

如何通过Gradle测试任务在我的JUnit上启用调试

当我尝试通过gradle测试任务运行JUnit测试时遇到了麻烦。 当我使用Run As – > JUnit测试直接在eclipse中运行测试时,一切正常,测试成功。 但是通过测试任务,测试总是失败。 编码我的资源txt文件可能有些麻烦。 所以我想在使用gradle启动测试时启用调试 在build.gradle中,我的测试任务现在看起来像: test { tasks.withType(Compile) { options.encoding = ‘UTF-8’ } } 那么我应该怎么做才能启用调试? 我在Eclipse中从Gradle面板运行gradle任务,而不是从控制台运行。 谢谢!

unit testing实时/并发软件

可能重复: 我该如何对线程代码进行unit testing? 经典的unit testing基本上只是将x放入并期望y out,并使该过程自动化。 因此,测试任何不涉及时间的东西都是有益的。 但是,我遇到的大部分非常重要的错误都与时间有关。 线程会破坏彼此的数据,或导致死锁。 不确定性的行为发生了 – 一万分之一。 硬的东西。 对于multithreading并发系统的“unit testing”部分,有什么有用的东西吗? 这些测试如何运作? 是否有必要长时间运行此类测试的主题并以一种巧妙的方式改变环境,以确信其工作正常?

如何使用Mockito测试DAO方法?

我已经开始发现Mockito图书馆了,有一个问题,我找不到合适的答案。 如果我在我的UserDAO类中有这样的方法,可以将用户保存在数据库中: public class UserDAO{ … public void create(User user) { Connection connection = null; PreparedStatement pstmt = null; ResultSet generatedKeys = null; try { connection = getConnection(); pstmt = connection.prepareStatement(INSERT_USER, PreparedStatement.RETURN_GENERATED_KEYS); int counter = 1; pstmt.setString(counter++, user.getFirstName()); pstmt.setString(counter++, user.getLastName()); pstmt.setString(counter++, user.getEmail()); pstmt.setString(counter++, user.getPassword()); pstmt.setString(counter++, user.getRole()); pstmt.setString(counter, user.getLang()); pstmt.execute(); connection.commit(); generatedKeys = pstmt.getGeneratedKeys(); if (generatedKeys.next()) […]

Spring / Hibernate测试:在DDL创建后插入测试数据

我有一个Spring / Hibernate webapp,它有一些在内存中的HSQL数据库上运行的集成测试。 Hibernate采用这个空白数据库,并通过hbm2ddl = create创建我的所有测试表和约束。 但是,我有一个新的bean,它在afterPropertiesSet()方法期间检查数据库中的特定配置值,因此当初始化此bean时,数据库中需要存在这样的行。 有没有什么好方法可以设置一个类似于Rail的测试装置的Java / Spring / Hibernate? 我试图找到一种方法告诉Hibernate“无论何时创建此表,然后立即插入这些行”。 我找不到可以添加的回调或钩子,但也许还有另一种方式。

单身和unit testing

Effective Java在unit testing单例上有以下声明 使类成为单例可能会使测试其客户端变得困难,因为除非它实现了作为其类型的接口,否则不可能将模拟实现替换为单例。 任何人都可以解释为什么会这样吗?

如何对Java EE代码进行unit testing?

我想问一下你喜欢的测试Java EE代码的方法吗? 我发现只有三个项目,它们试图帮助在Java EE环境中编写unit testing代码: http://jakarta.apache.org/cactus/ :最后发布:2009-01-18 http://www.junitee.org/ :最新发布:2004-12-11 http://ejb3unit.sourceforge.net/ :最新发布:2008-05-17 所以我想, 是否有任何框架有助于编写(j)Java EE代码的unit testing? 你使用嵌入式Java EE服务器,如jboss或glassfish v3? 你自己模拟和注射吗? 非常感谢…

如何编写multithreadingunit testing?

我想知道是否有一些unit testing框架能够轻松编写multithreading测试? 我想象的是:通过n个线程同时调用m次的特殊测试方法。 在完成所有测试线程之后,将调用一个断言方法,其中应该validation一些约束。 我目前的方法是在junit测试方法中创建Thread对象,手动循环每个run()方法中的实际测试用例,等待所有线程然后validation断言。 但是使用这个,我为每个测试都有一个大的样板代码块。 你有什么经历?

为什么我不能使用JMockit模拟Math

我遇到了一个使用JMockit(1.21)模拟java.lang.Math的问题。 请参阅下面的实际课程的简化用法。 基本上在我的代码中的某个地方我使用Math.pow(…)并且我要嘲笑它。 public final class Calculator { public final double power(double base, double exponent) { return Math.pow(base, exponent); } } 至于我的测试代码,这个测试有效。 @Test public void simpleTestWithoutMock() { Calculator calculator = new Calculator(); double result = calculator.power(2, 3); assertThat(result).isEqualTo(8); } 此测试失败。 @Test public void simpleTestWithMock(@Mocked Math math) { new Expectations() {{ // This would be line […]

unit testing需要在事务中的DDL语句

我正在开发一个使用Oracle内置身份validation机制来管理用户帐户和密码的应用程序。 该应用程序还使用行级安全性。 基本上,通过应用程序注册的每个用户都获得Oracle用户名和密码,而不是“USERS”表中的典型条目。 用户还会在某些表格上收到标签。 这种类型的function要求在许多实例中组合执行DML和DDL语句,但这会产生问题,因为DDL语句执行隐式提交。 如果在执行DDL语句后发生错误,则事务管理不会回滚所有内容。 例如,当新用户向系统注册时,可能会发生以下情况: 开始交易 将人员详细信息插入表格中。 (即名字,姓氏等)-DML 创建一个oracle帐户(创建用密码标识的用户testuser;)-DDL隐式提交。 交易结束。 新交易开始。 执行更多DML语句(插入,更新等)。 发生错误,事务仅回滚到步骤4。 据我所知,上述逻辑按设计工作,但我发现很难对这类function进行unit testing并在数据访问层进行管理。 我的数据库出现故障或unit testing期间发生错误导致测试模式被应回滚的测试数据污染。 当发生这种情况时,很容易擦除测试模式,但我担心生产环境中的数据库故障。 我正在寻找管理这个的策略。 这是一个Java / Spring应用程序。 Spring提供了事务管理。

Android studiounit testing:为volley请求编写模拟测试的问题(以非零退出值1结束)

我一直在努力编写针对齐射自定义请求的测试用例,引用我已经从这里实现了FakeHttpStack类和FakeRequestQueue 我的项目测试类结构如下: /app /src /test /java/package/myClassTest.java /resources/testfile.txt Gradle file : android { compileSdkVersion 23 buildToolsVersion “23.0.1” defaultConfig { minSdkVersion 17 targetSdkVersion 23 // Enabling multidex support. multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’ } } } repositories { maven { url = “https://oss.sonatype.org/content/repositories/snapshots” } jcenter() } dependencies { compile project(‘:datetimepickerlibrary’) […]