Junit 5 测试 toString()
Junit 5 testing toString()
我最近开始弄乱 Junit,现在我想检查我的方法 returns 是否是预期的字符串。就是不知道怎么做
这是我的测试方法;`
@Test
void toStringTest(){
Voetbalclub schoonhoven = new Voetbalclub("Schoonhoven");
String expected = "Schoonhoven 2 1 1 0 0";
schoonhoven.verwerkResultaat('g');
schoonhoven.verwerkResultaat('w');
assertEquals(schoonhoven, expected.equals("Schoonhoven 2 1 1 0 0"));
System.out.println(schoonhoven);
}`
Ps:我知道我的代码正在检查它是否在同一个内存点,但显然不是。
也试过.equals(),结果还是一样。
非常感谢任何帮助。
@Test
void toStringTest(){
Voetbalclub schoonhoven = new Voetbalclub("Schoonhoven");
String expected = "Schoonhoven 2 1 1 0 0";
schoonhoven.verwerkResultaat('g');
schoonhoven.verwerkResultaat('w');
assertEquals(schoonhoven, expected.equals("Schoonhoven 2 1 1 0 0"));
System.out.println(schoonhoven);
}
老实说,这段代码并没有多大意义。您的代码实际检查的是您的 schoonhoven 变量是否等于布尔值,显然不是。
@Test
void toStringTest(){
Voetbalclub schoonhoven = new Voetbalclub("Schoonhoven");
String expected = "Schoonhoven 2 1 1 0 0";
schoonhoven.verwerkResultaat('g');
schoonhoven.verwerkResultaat('w');
assertEquals(expected, schoonhoven.toString());
}
这将验证 schoonhoven.toStrign() 的结果是否等于预期的字符串。
Here 您会找到更多信息。您传递的参数是:
- 预期对象
- 实际对象
很难看出你到底想测试什么,但我会尝试猜测。 schoonhoven
是您代码中的一个对象。据我所知,它有一个名为 verwerkResultaat(char param)
的方法。在有意义的测试中,您希望检查该方法是否按预期工作。因此,如果该方法例如返回类型为 String
的内容,您可以执行以下操作:
Voetbalclub schoonhoven = new Voetbalclub("Schoonhoven");
assertEquals(schoonhoven.verwerkResultaat('g'), "Schoonhoven 2 1 1 0 0");
assertEquals(schoonhoven.verwerkResultaat('w'), [some other result of type String]);
希望对您有所帮助。您还可以分享您的 Class Voetbalclub
的实现,这样我就可以给您一个工作示例。
断言等于
如果你想测试两个对象是否相等,你有以下方法
assertEquals(expected, actual)
在你的情况下,它将是
assertEquals(expected, schoonhoven.toString());
assertEquals()
的两个组件应该相同。
还有其他类型的 assert
,您可以找到 here
我最近开始弄乱 Junit,现在我想检查我的方法 returns 是否是预期的字符串。就是不知道怎么做
这是我的测试方法;`
@Test
void toStringTest(){
Voetbalclub schoonhoven = new Voetbalclub("Schoonhoven");
String expected = "Schoonhoven 2 1 1 0 0";
schoonhoven.verwerkResultaat('g');
schoonhoven.verwerkResultaat('w');
assertEquals(schoonhoven, expected.equals("Schoonhoven 2 1 1 0 0"));
System.out.println(schoonhoven);
}`
Ps:我知道我的代码正在检查它是否在同一个内存点,但显然不是。 也试过.equals(),结果还是一样。
非常感谢任何帮助。
@Test
void toStringTest(){
Voetbalclub schoonhoven = new Voetbalclub("Schoonhoven");
String expected = "Schoonhoven 2 1 1 0 0";
schoonhoven.verwerkResultaat('g');
schoonhoven.verwerkResultaat('w');
assertEquals(schoonhoven, expected.equals("Schoonhoven 2 1 1 0 0"));
System.out.println(schoonhoven);
}
老实说,这段代码并没有多大意义。您的代码实际检查的是您的 schoonhoven 变量是否等于布尔值,显然不是。
@Test
void toStringTest(){
Voetbalclub schoonhoven = new Voetbalclub("Schoonhoven");
String expected = "Schoonhoven 2 1 1 0 0";
schoonhoven.verwerkResultaat('g');
schoonhoven.verwerkResultaat('w');
assertEquals(expected, schoonhoven.toString());
}
这将验证 schoonhoven.toStrign() 的结果是否等于预期的字符串。
Here 您会找到更多信息。您传递的参数是:
- 预期对象
- 实际对象
很难看出你到底想测试什么,但我会尝试猜测。 schoonhoven
是您代码中的一个对象。据我所知,它有一个名为 verwerkResultaat(char param)
的方法。在有意义的测试中,您希望检查该方法是否按预期工作。因此,如果该方法例如返回类型为 String
的内容,您可以执行以下操作:
Voetbalclub schoonhoven = new Voetbalclub("Schoonhoven");
assertEquals(schoonhoven.verwerkResultaat('g'), "Schoonhoven 2 1 1 0 0");
assertEquals(schoonhoven.verwerkResultaat('w'), [some other result of type String]);
希望对您有所帮助。您还可以分享您的 Class Voetbalclub
的实现,这样我就可以给您一个工作示例。
断言等于
如果你想测试两个对象是否相等,你有以下方法
assertEquals(expected, actual)
在你的情况下,它将是
assertEquals(expected, schoonhoven.toString());
assertEquals()
的两个组件应该相同。
还有其他类型的 assert
,您可以找到 here