问题:使用遗留dbUnit构建MASSIVE ...除了我们需要它并行运行集成测试。 Gradle是构建环境。数以百计的子项目。 Java是语言。
我一直在使用TransactionAwareDataSourceProxy包装所有数据源,这有很大帮助,但是当并行运行时我们仍然会遇到失败。另一个症状是,如果您终止构建,则必须重新构建数据库。我认为这是因为非事务性的东西没有机会进行清理。
我能想到的可能性是:
某处有一个或多个非事务性测试需要注释为Transactional。如果是这种情况,那么它应该意味着在这个大海捞针中有2或3根针,根据定义它们很难找到。
某处我错过了包装数据源。我一直在进行全球搜索,但很难找到。例如,如果它没有像所有其他名称一样命名dataSource呢?如果不像所有其他人一样使用Apache的BasicDataSource会怎么样?
是否有可能使任何类型的非交易活动成为史诗般的立即失败?这可能有助于我将其缩小到特定组件。我已经走得很远,但我的想法已经不多了。