0
public class EmployeeDetails {

    private String name;
    private double monthlySalary;
    private int age;

    /**
     * @return the name
     */
    public String getName() {
            return name;
        }
        /**
         * @param name the name to set
         */
    public void setName(String name) {
            this.name = name;
        }
        /**
         * @return the monthlySalary
         */
    public double getMonthlySalary() {
            return monthlySalary;
        }
        /**
         * @param monthlySalary the monthlySalary to set
         */
    public void setMonthlySalary(double monthlySalary) {
            this.monthlySalary = monthlySalary;
        }
        /**
         * @return the age
         */
    public int getAge() {
            return age;
        }
        /**
         * @param age the age to set
         */
    public void setAge(int age) {
        this.age = age;
    }
}

EmployeeDetails.class のリストを JUnit パラメータ化クラスに渡す方法。

Parameters メソッドの作成を手伝ってください

@Parameters
public static Collection employeeList()
{
    List<EmployeeDetails> employees = new ArrayList<EmployeeDetails>;
    return employees;
}

// これにより、「employeeList は配列のコレクションを返す必要があります」のようなエラーがスローされます。

上記の EmployeeDetails クラスは一例です。クラスオブジェクトのリストを送信する同様のクラスに使用する必要があります。

4

3 に答える 3

2

メソッド@Parametersは、オブジェクト配列のコレクションを返す必要があります。EmployeeDetailsしたがって、テスト ケース コンストラクターが 1 つのオブジェクトだけを想定していると仮定すると、次のようにします。

@Parameters
public static Collection<Object[]> employeeList() {
    List<EmployeeDetails> employees = new ArrayList<>();
    // fill this list

    Collection<Object[]> result = new ArrayList<>();
    for (EmployeeDetails e : employees) {
        result.add(new Object[] { e });
    }
    return result;
}
于 2014-08-26T10:12:41.780 に答える