在 Eclipse 中使用 Junit 测试数组元素
Testing Array element using Junit in Eclipse
我想测试它是否使用 Junit 将所有元素添加到组数组中。
代码如下:
public class Group{
private String groupName;
private ArrayList<Item> group = new ArrayList<Item>();
public Group(String groupName) {
super();
this.groupName = groupName;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public void addItem(Item item) {
group.add(item);
}
public Item getItem(int index) {
return group.get(index);
}
public String toString(boolean includePrice) {
String string = "Group \"" + groupName + "\" contains...\n";
for (int i = 0; i < group.size(); i++) {
Item item = group.get(i);
String itemString = includePrice? item.toString() : item.getDisplayName();
string = string + (i + 1) + ") " + itemString + "\n";
}
return string;
}
}
有两种方法可以测试 addItem 方法是否将所有元素添加到组数组中-
第一种方式
像这样创建一个方法 getItems
public List<Item> getItems() {
return group;
}
并在junit测试中调用getItems方法检查是否添加了所有元素
@Test
void shouldAddAllItems1() {
Group group = new Group("group1");
List<Item> expectedItems = Arrays.asList(new Item("item1"), new Item("item2"));
group.addItem(new Item("item1"));
group.addItem(new Item("item2"));
assertEquals(expectedItems, group.getItems());
}
第二种方式
使用getItem(int index)方法检查是否添加了所有元素。
@Test
void shouldAddAllItems2() {
Group group = new Group("group2");
group.addItem(new Item("item1"));
group.addItem(new Item("item2"));
assertEquals(new Item("item1"), group.getItem(0));
assertEquals(new Item("item2"), group.getItem(1));
}
注意:对于这两种解决方案,您都需要覆盖项目 class 中的 equals 和 hashcode 方法才能进行相等性检查。
我想测试它是否使用 Junit 将所有元素添加到组数组中。
代码如下:
public class Group{
private String groupName;
private ArrayList<Item> group = new ArrayList<Item>();
public Group(String groupName) {
super();
this.groupName = groupName;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public void addItem(Item item) {
group.add(item);
}
public Item getItem(int index) {
return group.get(index);
}
public String toString(boolean includePrice) {
String string = "Group \"" + groupName + "\" contains...\n";
for (int i = 0; i < group.size(); i++) {
Item item = group.get(i);
String itemString = includePrice? item.toString() : item.getDisplayName();
string = string + (i + 1) + ") " + itemString + "\n";
}
return string;
}
}
有两种方法可以测试 addItem 方法是否将所有元素添加到组数组中-
第一种方式
像这样创建一个方法 getItems
public List<Item> getItems() {
return group;
}
并在junit测试中调用getItems方法检查是否添加了所有元素
@Test
void shouldAddAllItems1() {
Group group = new Group("group1");
List<Item> expectedItems = Arrays.asList(new Item("item1"), new Item("item2"));
group.addItem(new Item("item1"));
group.addItem(new Item("item2"));
assertEquals(expectedItems, group.getItems());
}
第二种方式
使用getItem(int index)方法检查是否添加了所有元素。
@Test
void shouldAddAllItems2() {
Group group = new Group("group2");
group.addItem(new Item("item1"));
group.addItem(new Item("item2"));
assertEquals(new Item("item1"), group.getItem(0));
assertEquals(new Item("item2"), group.getItem(1));
}
注意:对于这两种解决方案,您都需要覆盖项目 class 中的 equals 和 hashcode 方法才能进行相等性检查。