გაიხსენეთ დავალება 3.4 Vanity Plates მესამე თავიდან.
დავალება
ფაილში სახელად plates.py ახლიდან შექმენით პროგრამა სადაც is_valid ისევ ელის str ტიპის ინფუთს და აბრუნებს True – ს თუ სტრიქონი აკმაყოფილებს სანომრის ყველა მოთხოვნას და False – ს თუ არა.
გაითვალისწინე რომ მხოლოდ main ფუნცქიამ უნდა გამოიყენოს print რადგან თავიდან აიცილო გვერდითი მოვლენები სხვა ფუნქციებში.
ახალი პროგრამის სტრუქტურა ასეთი უნდა იყოს:
def main():
...
def is_valid(s):
...
if __name__ == "__main__":
main()
შემდეგ ფაილში სახელად test_plates.py შექმენი ოთხი ან მეტი ფუნქცია რომელიც გატესტავს is_valid ფუნქციის მუშაობის სისწორეს სხვადასხვა სიტუაციებში. გაკვეთლებიდან გაიხსენე რომ ტესტ ფუნქციების სახელები test_ პრეფიქსით უნდა დაიწყო რომ შემდეგ pytest – ით შეძლო მათი გაშვება ასე:
pytest test_plates.py
მინიშნებები:
- დარწმუნდი რომ დააიმპორტე plates
import plates
ან
from plates import is_valid
- დარწმუნდი რომ return – ს იყენებ სწორად და არა print – ს (გვერდით მოვლენას). მხოლოდ main ფუნქციაში უნდა გამოიყენო print.
სანამ დაიწყებ
- Terminal – ში გაუშვი ბრძანება
cd
– ამ ბრძანების გაშვებით თავს დაიზღვევ რომ ნამდვილად შენს მთავარ ფოლდერში ხარ. - შემდეგ ისევ Terminal – ში გაუშვი ბრძანება
mkdir
test_plates – ამ ბრძანებით შექმნი ახალ ფოლდერს სახელად test_plates შენი დავალებისთვის. -
შემდეგ გაუშვი cd test_plates - ამ ბრძანებით შეხვალ შენს მიერ შექმნილ test_plates ფოლდერში.
- ახლა ამ ფოლდერში შექმენი ფაილი სახელად
test_plates.py
– ამ ბრძანების გამოყენებითcode test_plates.py
- დაიწყე დავალების შესრულება
test_plates.py
ფაილში.
როგორ უნდა გატესტო შენი პროგრამა?
როდესაც ჩათვლი რომ შედეგს მიაღწიე და გინდა დარწმუნდე რომ შენი პროგრამა სწორად მუშაობს, შეგიძლია გატესტო რამდენიმე გზით.
გატესტე ხელით
- გაუშვი ტესტები pytest test_plates.py ბრძანებით.
- დარწმუნდი რომ plates.py ფაილიც იმავე ფოლდერშია.
- გატესტე plates.py როგორც სწორ ისე არასწორ სიტუაციებში და დააკვირდი შენ ტესტებს რომ იმუშაონ შესაბამისად.
ავტომატური გატესტვა – check50
მას შემდეგ რაც ხელით გატესტავ და ჩათვლი რომ შენი პროგრამა სავარაუდოდ სწორად მუშაობს, შეგიძლია ავტომატური ტესტირების სისტემაც გამოიყენო.
ამისათვის Terminal – ში გაუშვი ასეთი ბრძანება check50 cs50/problems/2022/python/tests/plates
მწვანე სმაილები ნიშნავს რომ შენმა პროგრამამ გაიარა ტესტი.
წითელი მოწყენილი სახეები ნიშნავს რომ შენმა პროგრამამ კონკრეტულ შემთხვევებში არასწორად იმუშავა და იმ შემთხვევების შესაბამისად უნდა გამოასწორო მანამ სანამ მწვანე სმაილს არ მიიღებ.
check50 ასევე დაგიბრუნებს მისამართს რომელსაც შეგიძლია ეწვიო და ნახო ზუსტად რა მნიშვნელობებზე გაიტესტა შენი პროგრამა.
როგორ გავაგზავნოთ ნამუშევარი Harvard – ის სისტემაში?
მას შემდეგ რაც ხელით და ავტომატური გატესტვავ და დარწმუნდები რომ ყველაფერი რიგზეა, submit50 – ბრძანების გამოყენებით შეგიძლია გააგზავნო შენი ნამუშევარი Harvard – ის სისტემაში.
ზუსტი ბრძანება ასე გამოიყურება: submit50 cs50/problems/2022/python/
tests/plates
სწავლა და ბრძოლა