我正在创建两个单元测试来测试我的应用程序逻辑。在下面,我根据顺序是否为真创建了两个最终变量。有没有一种方法可以不必为每种订单类型创建最终变量,从而使其干燥?
private static final Order FIRST_ORDER = createOrder(
"watch",
"123",
true
);
private static final Order SECOND_ORDER = createOrder(
"watch",
"123",
false
);
private static Order createOrder(String productName, String productId, Boolean isNewOrder){
//Logic
}
@Test
public void shouldTestOrderCreation(){
OrderHelper helper = new OrderHelper();
helper.createOrder(FIRST_ORDER);
}
@Test
public void shouldTestOrderCreation(){
OrderHelper helper = new OrderHelper();
helper.createOrder(SECOND_ORDER);
}
函数调用比常量更好;其生命周期/时间与单个单元测试方法相同。数据构造函数不错。我认为这是人们对常数感到的最具风格上的恼怒。
这甚至适用于引用其他数据的复杂数据。我甚至可能会争辩说,将数据本地放在一起更具可读性。
在这两种情况下,DRY可能意味着不使用相同的值复制可能不相关的属性,例如产品名称。但这在某种程度上是不可避免的。
这个怎么了?
@Test
public void testNewOrder(){
createOrder(true);
}
@Test
public void testNotNewOrder(){
createOrder(false);
}
void createOrder(boolean newOrder) {
OrderHelper helper = new OrderHelper();
helper.createOrder("watch", "123", newOrder);
}
您还可以参数化测试:
@ParameterizedTest
@ValueSource(booleans={true, false})
void createOrder(boolean newOrder) {
OrderHelper helper = new OrderHelper();
helper.createOrder("watch", "123", newOrder);
}
但这一切都取决于你想要测试哪种断言。
我的一个GAE类正在从HTML文件创建[datastore Entity][1]: 当我试图在JUnit测试中调用此方法时,会引发以下异常: 问题似乎是在我的代码示例的第一行中创建键。
考虑一个maven实用工具模块(模块1),它定义了一个抽象类:AbstractFoo.java。在测试资源下,编写了所述类的模型:foomockup.java。还编写了一个测试类:AbstractFootest.java。 现在考虑第二个模块(模块2),它包含一个使用AbstractFoo的类,并声明测试用例:bar.java和bartest.java。java在创建Bar实例的同时创建FooMo
昨天,我编写并运行了一个Katalon测试套件,今天,我试图将Katalon与Jenkins集成。我成功地安装了Jenkins,根据这些说明为Katalon测试创建了一个新的工作,但是当我开始构建它时,我得到了失败的构建。 特别是,这是我不断收到的错误消息: 我继续将文件夹结构从我指定的项目目录复制到Jenkins工作区。经过后来的检查,我发现,当Jenkins运行Katalon测试时,文件实际上
您好,我对Junit和Mockito的单元测试相当陌生。我认为我对这些原则有一个相当合理的理解,但我似乎找不到任何解释来解释我特别想在网上测试什么。 我想测试一个方法,它调用其他几个方法(void和non-void),该方法还实例化了方法体中的对象。不幸的是,我不能分享代码,因为它不是我的,但这里有一个通用格式: 目前我只关心测试method_1,我不能直接测试,因为它是一个私有方法,所以我必须通
我正在尝试为springboot应用程序中的一个简单控制器编写一个测试。但是,由于为我的TopicRepository和topiccontroller创建bean而收到错误。我参考了一个教程,对spring boot开发并不陌生,所以不确定它是如何工作的。我怎样才能使测试工作? 控制器测试 控制器 专题存储库 我得到的错误是 UnsatisfiedDependencyException:创建名为'