عرفان سلیمی
3 سال پیش توسط عرفان سلیمی مطرح شد
7 پاسخ

تست نویسی print

سلام. ببخشید میتونین بگین که برای تست نویسی تابع print در پایتون باید چیکار کرد؟
یعنی ورودی ها input() باشن و خروجی print()
خیلی ممنون میشم سریع پاسخ بدید :) ضروری هست

مثلا میخوام این برنامه رو تست کنم:

a = input()
b = input()
print(a)
print(b)

ثبت پرسش جدید
سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 3 سال پیش مطرح شد
0

سلام باید unitTest بنویسی که این مقاله از راکت کمکت میکنه


علیرضا
@alireza.gh147csc 3 سال پیش مطرح شد
0

سلام دوست من
منظورتو متوجه نشدم الان میخوای اجرا کنی.


سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 3 سال پیش مطرح شد
0

سلام باید unitTest بنویسی که این مقاله از راکت کمکت میکنه


عرفان سلیمی
تخصص : برنامه نویس پایتون
@erfan.salimi 3 سال پیش مطرح شد
0

سلام. من دیدم مقاله رو. ولی درباره تست کردت تابع پرینت توضیحی نداده


سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 3 سال پیش مطرح شد
0

سلام
ببینید شما در نهایت میتونید کد خودتونو تست کنید. مثلا یک تابع نوشتید که این تابع شامل مجموعه ایی از دستورات و توابعی است که اون زبان یا فریمورک در اختیارتون قرار میده. شما هیچ وقت نباید تابع print که واسه خود پایتونه تست کنید. چون اگر این باگ داشته باشه، اون زبان یا فریمورک میره زیر سوال و اصلا شما نمیتونید یه برنامه بنویسید.
حتی اگر هم بخواهید ببینید که آیا موردی پرینت میشه، اون میره تو بخش acceptance Test که معمولا یک فرد انجام میده.


عرفان سلیمی
تخصص : برنامه نویس پایتون
@erfan.salimi 3 سال پیش مطرح شد
0

با سایت کوئرا آشنایی دارید؟
من تقریبا مثل اون میخوام بشه.
بزارین یه کدوم از سوالاش رو بفرستم:
مثلا این سوال: https://quera.org/problemset/591/
اگه بخوام برای این برنامه تست کیس بنویسم با پایتون، میتونید راهنمایی کنید چی باید بنویسم؟
ممنون


سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 3 سال پیش مطرح شد
0

بله واسه تست این قسمت اینجوری مینویسنش

import io
import sys

def createSquare(n):
  #     code for create Square and returned it
  print("""
    ******
    *    *
    *    *
    *    *
    *    *
    ******""")

def testSquare():
  correctOutput = """
    ******
    *    *
    *    *
    *    *
    *    *
    ******
"""
  capturedOutput = io.StringIO()
  sys.stdout = capturedOutput
  createSquare(6)                        
  sys.stdout = sys.__stdout__
  print(correctOutput == capturedOutput.getvalue())

testSquare()

عرفان سلیمی
تخصص : برنامه نویس پایتون
@erfan.salimi 3 سال پیش مطرح شد
0

خیلی ممنون
ولی اینم بگم که ورودی به شکل پارامتر های تابع نیست
از تابع input() باید استفاده بشه و برنامه نباید داخل تابع باشه.
برای اینکار راهکاری هست؟
خیلی ممنون. تااینجا خیلی لطف کردین :)


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام