راکت
حل شده

تست نویسی print

7 پاسخ

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

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

a = input()
b = input()
print(a)
print(b)
ثبت پرسش جدید

پاسخ‌ها

7
سینا شاه‌اویسی
سینا شاه‌اویسی
@sinashahoveisi

تخصص: برنامه نویس

بهترین پاسخ

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

علیرضا
علیرضا
@alireza.gh147csc

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

عرفان سلیمی
عرفان سلیمی
@erfan.salimi

تخصص: برنامه نویس پایتون

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

شاید پاسخ شما همین‌جا باشد

سینا شاه‌اویسی
سینا شاه‌اویسی
@sinashahoveisi

تخصص: برنامه نویس

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

عرفان سلیمی
عرفان سلیمی
@erfan.salimi

تخصص: برنامه نویس پایتون

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

سینا شاه‌اویسی
سینا شاه‌اویسی
@sinashahoveisi

تخصص: برنامه نویس

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

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

تخصص: برنامه نویس پایتون

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

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

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