3

いくつかのドメインクラスをテストするためのRORの例を見ました:

context "Validations" do
   [:city, :zip, :street].each do |attr|
      it "must have a #{attr}" do
         a = Address.new
         a.should_not be_valid
         a.errors.on(attr).should_not be_nil
      end
   end
end

異なる値と異なる名前でその場でテストを作成します...それはちょっと面白いですが...スポックまたはjUnitでこれを行うことはできますか?

どうもありがとう

4

1 に答える 1

6

スポックの使用:

class Validations extends Specification {
    def "must have a #attr"() {
        def a = new Address()

        expect:
        !a.valid
        a.errors.on(attr) != null

        where:
        attr << ["city", "zip", "street"]
    }
}

複数のデータ変数がある場合は、テーブル構文の方が便利です。

        ...
        where:
        attr1    | attr2
        "city"   | ...
        "zip"    | ...
        "street" | ...
于 2012-04-10T22:55:05.120 に答える