gpt4 book ai didi

java - 在以下情况下我应该如何编写 JUnit 测试?

转载 作者:行者123 更新时间:2023-12-01 11:41:49 25 4
gpt4 key购买 nike

我是单元测试的新手。我有一个类Ckeckout,其主要功能是打印书籍的支付金额。用户在命令行中输入书名,然后根据一些计算,我必须输出最终价格。这是 Book 类:

public class Book {
private String title;
private double price;
private int year;

public Book(String title, double price, int year) {
super();
this.title = title;
this.price = price;
this.year = year;
}
}

这是 Checkout 类:

public class Checkout {

private List<Book> books;

public Checkout(List<Book> books) {
super();
this.books = books;
}

//calculate the final price
private double getPrice(){
//return some double
}


}

我想测试的只是getPrice方法。但是,为此,我是否必须在 CheckoutTest 中创建 Book 对象列表?另外,我必须用一些很长的数字(例如 62.01997301)来验证最终结果。测试 main() 方法不是更容易吗,因为在我的单元测试中,不需要创建 Book 对象(我将只使用 Strings),我可以用较短的数字(如 62.01)验证输出?

最佳答案

  1. 但是,为此,我是否必须在 CheckoutTest 中创建 Book 对象列表?:一般情况下以及任何类型 - 是的!

  2. 此外,我还必须使用一些很长的数字(例如 62.01997301)来验证最终结果:Naah取决于您的定位测试/代码质量! (对于“价格”,2 位数字就足够了(在任何国家/地区!?))

  3. 测试 main() 方法不是更容易吗,因为在我的单元测试中,不需要创建 Book 对象(我只使用字符串)并且我可以验证输出数字较短(如 62.01)? 绝对!但是在当前设置下,一些(人类)必须检查控制台是否“通过该测试”,对于 JUnit(并以编程方式测试该值),您应该/将需要制作“getPrice” () 更明显”...或以某种方式访问​​其值(value)。

关于java - 在以下情况下我应该如何编写 JUnit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29468529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com