我在作业中遇到这个问题,我写了代码,但我不知道如何编写测试。我需要一些帮助来写测试。
问题是:编写一个程序,打印从1到100的数字。对于可被3整除的数字,输入“uni”而不是数字。对于可被5整除的数字,输入“mi”而不是数字。对于可被3和5整除的数字,请写“unimi”而不是数字。每一个你认为有必要检查的数字做一次测试以保证算法 public String replaceNumsToUNIMI (int num) {
String str = "";
for( int i = 1; i <= 100; i++){
if(i % 3 == 0 && i % 5 == 0){
str += "UNIMI\n";
}
else if(i % 3 == 0 && num % 3 == 0){
str += "UNI\n";
}
else if(i % 5 == 0 && num % 5 == 0){
str += "MI\n";
}
else{
str += Integer.valueOf(i)+"\n";
}
if(num % 3 == 0 && num % 5 == 0 ){
return "UNIMI";
}
if (num % 3 == 0){
return "UNI";
}
if (num % 5 == 0){
return "MI";
}
}
return str;
} 测试类中的测试方法:@Test
public void testReplaceNumsToUNIMI(){
NumToUNIMI nh = new NumToUNIMI();
assertEquals("UNI",nh.replaceNumsToUNIMI(3));
assertEquals("MI", nh.replaceNumsToUNIMI(5));
assertEquals("UNIMI", nh.replaceNumsToUNIMI(15));
}
首先,我会让你在main中从1循环到100(或者你的非静态runner函数),并让你的replace函数接受一个参数n,这是你现在看到的数字。
至于要测试的数字,你基本上想知道哪些情况下正常工作,哪些边缘情况下不能工作。
在不破坏答案的前提下,想想你有什么特别的例子。每一个都是一个测试。最后,您应该测试一个在所有条件下都不包括的数字。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。