Lettuce Datatable
3212 ワード
MVCアプリケーションの作成を想像してみましょう.テストを作成するときに、データベースに追加する必要があるモデルがあり、これらのモデルの新しいステータスを確認する必要がある場合があります.これは、Lettuceでテストを記述する場合、ステップでデータを処理するのに非常に役立つことを意味します.手順表は次のとおりです.
上記の例では、3つのステップがテーブルを含む4つのステップがあります.Djangoでいくつかのステップ定義を書いて、これらのテーブルを使用することを想像してみましょう.
テーブルの最初の行または最後の行の便利な関数を取得しますか?!
簡単ですね?!各ステップには、リスト辞書のハッシュ値を呼び出す属性があります.各辞書では、ヘッダーがキーで、各行の値です.言い換えれば、Lettuceはこの表を辞書伝達の第一歩に等しい.
下一篇:Lettuce Introduction下一篇:Lettuce:Multi-line Strings
Feature: bill students alphabetically
In order to bill students properly
As a financial specialist
I want to bill those which name starts with some letter
Scenario: Bill students which name starts with "G"
Given I have the following students in my database:
| name | monthly_due | billed |
| Anton | $ 500 | no |
| Jack | $ 400 | no |
| Gabriel | $ 300 | no |
| Gloria | $ 442.65 | no |
| Ken | $ 907.86 | no |
| Leonard | $ 742.84 | no |
When I bill names starting with "G"
Then I see those billed students:
| name | monthly_due | billed |
| Gabriel | $ 300 | no |
| Gloria | $ 442.65 | no |
And those that weren't:
| name | monthly_due | billed |
| Anton | $ 500 | no |
| Jack | $ 400 | no |
| Ken | $ 907.86 | no |
| Leonard | $ 742.84 | no |
上記の例では、3つのステップがテーブルを含む4つのステップがあります.Djangoでいくつかのステップ定義を書いて、これらのテーブルを使用することを想像してみましょう.
from lettuce import step
from school.models import Student
@step('I have the following students in my database:')
def students_in_database(step):
for student_dict in step.hashes:
person = Student(**student_dict)
person.save()
テーブルの最初の行または最後の行の便利な関数を取得しますか?!
from lettuce import step
from school.models import Student
@step('I have the following students in my database:')
def students_in_database(step):
person1 = Student(**step.hashes.first)
person2 = Student(**step.hashes.last)
person1.save()
person2.save()
簡単ですね?!各ステップには、リスト辞書のハッシュ値を呼び出す属性があります.各辞書では、ヘッダーがキーで、各行の値です.言い換えれば、Lettuceはこの表を辞書伝達の第一歩に等しい.
@step('I have the following students in my database:')
def students_in_database(step):
assert step.hashes == [
{
'name': 'Anton',
'monthly_due': '$ 500',
'billed': 'no'
},
{
'name': 'Jack',
'monthly_due': '$ 400',
'billed': 'no'
},
{
'name': 'Gabriel',
'monthly_due': '$ 300',
'billed': 'no'
},
{
'name': 'Gloria',
'monthly_due': '$ 442.65',
'billed': 'no'
},
{
'name': 'Ken',
'monthly_due': '$ 907.86',
'billed': 'no'
},
{
'name': 'Leonard',
'monthly_due': '$ 742.84',
'billed': 'no'
},
]
下一篇:Lettuce Introduction下一篇:Lettuce:Multi-line Strings