Python 如何为接受用户输入的函数编写单元测试 通过接受两个名称来执行操作的程序。 F-朋友,L-情人,A-崇拜者,M-已婚夫妇,电子敌人,S-秘密情人 修改版本:2017年1月11日 程序员:Selikem v 0.1.0 """ 定义火焰(): 打印(“\n您准备好点火了吗?”) 男孩姓名=输入(“输入男孩姓名:”) girlName=输入(“输入女士姓名:”) bName=list(boyName.lower())#将名称拆分为单个字符并放入列表中 gName=list(girlName.lower()) #下面,我们删除两个名称中的常见字母。 对于bName中的i: 当我在gName的时候: b名称.删除(i) 删除(i) 打破 因为我在格南: 当我在bName时: b名称.删除(i) 删除(i) 打破 #下面再次检查是否存在常用字母并将其删除。 尽管如此: 对于bName中的i: 当我在gName的时候: b名称.删除(i) 删除(i) 打破 因为我在格南: 当我在bName时: b名称.删除(i) 删除(i) 打破 flame=bName+gName#变量,用于在取消常用字符后存储剩余字符。 #火焰=设置(火焰) #印刷品(透镜(火焰)) #打印(bName) #打印(gName) #打印(火焰) 当len(火焰)
将UI代码(询问用户输入、预输入输出)与域模型(代码中计算某些内容的部分)分开。然后您可以对域模型进行单元测试。例如:我知道Victor和Victoria会通过手动计算得到情侣。我该如何为此编写一个单元测试呢?例如:我知道Victor和Victoria会通过手工计算得到情侣。我该如何为此编写单元测试?您应该将接受用户输入的功能与实际功能分开。然后你可以为这个函数编写一个单元测试,传递你喜欢的任何值。为什么不更新你的Python 如何为接受用户输入的函数编写单元测试 通过接受两个名称来执行操作的程序。 F-朋友,L-情人,A-崇拜者,M-已婚夫妇,电子敌人,S-秘密情人 修改版本:2017年1月11日 程序员:Selikem v 0.1.0 """ 定义火焰(): 打印(“\n您准备好点火了吗?”) 男孩姓名=输入(“输入男孩姓名:”) girlName=输入(“输入女士姓名:”) bName=list(boyName.lower())#将名称拆分为单个字符并放入列表中 gName=list(girlName.lower()) #下面,我们删除两个名称中的常见字母。 对于bName中的i: 当我在gName的时候: b名称.删除(i) 删除(i) 打破 因为我在格南: 当我在bName时: b名称.删除(i) 删除(i) 打破 #下面再次检查是否存在常用字母并将其删除。 尽管如此: 对于bName中的i: 当我在gName的时候: b名称.删除(i) 删除(i) 打破 因为我在格南: 当我在bName时: b名称.删除(i) 删除(i) 打破 flame=bName+gName#变量,用于在取消常用字符后存储剩余字符。 #火焰=设置(火焰) #印刷品(透镜(火焰)) #打印(bName) #打印(gName) #打印(火焰) 当len(火焰),python,unit-testing,Python,Unit Testing,将UI代码(询问用户输入、预输入输出)与域模型(代码中计算某些内容的部分)分开。然后您可以对域模型进行单元测试。例如:我知道Victor和Victoria会通过手动计算得到情侣。我该如何为此编写一个单元测试呢?例如:我知道Victor和Victoria会通过手工计算得到情侣。我该如何为此编写单元测试?您应该将接受用户输入的功能与实际功能分开。然后你可以为这个函数编写一个单元测试,传递你喜欢的任何值。为什么不更新你的Flames函数,把boyName和girlName作为参数呢?你可以在别处捕获输
Flames
函数,把boyName
和girlName
作为参数呢?你可以在别处捕获输入。好吧,让我试试看。
"""A program to do FLAMES by accepting two names.
F-Friends, L-Lovers, A-Admirers, M-Married Couple, E-Enemies, S-Secret Lovers
Modified Version : Jan 11 2017
Programmer : Selikem v 0.1.0
"""
def Flames():
print("\nAre you READY FOR FLAMES????")
boyName = input("Enter the Guy's Name: ")
girlName = input("Enter the Lady's Name: ")
bName = list(boyName.lower()) #Splits name into individual characters and places it in a list
gName = list(girlName.lower())
#Below, We remove common letters found in both names.
for i in bName:
while i in gName:
bName.remove(i)
gName.remove(i)
break
for i in gName:
while i in bName:
bName.remove(i)
gName.remove(i)
break
#Below Checks whether there are common letters again and removes them.
while True:
for i in bName:
while i in gName:
bName.remove(i)
gName.remove(i)
break
for i in gName:
while i in bName:
bName.remove(i)
gName.remove(i)
break
flame = bName + gName #Variable to store remaining characters after cancellation of common ones.
#flame = set(flame)
#print(len(flame))
#print(bName)
#print(gName)
#print(flame)
while len(flame) < 50:
if len(flame) == 1 or len(flame) == 7 or len(flame) == 13 or len(flame) == 19 or len(flame) == 25:
FLAMES = "FRIENDS"
elif len(flame) == 2 or len(flame) == 8 or len(flame) == 14 or len(flame) == 20 or len(flame) == 26:
FLAMES = "LOVERS"
elif len(flame) == 3 or len(flame) == 9 or len(flame) == 15 or len(flame) == 21 or len(flame) == 27:
FLAMES = "ADMIRERS"
elif len(flame) == 4 or len(flame) == 10 or len(flame) == 16 or len(flame) == 22 or len(flame) == 28:
FLAMES = "MARRIED COUPLE"
elif len(flame) == 5 or len(flame) == 11 or len(flame) == 17 or len(flame) == 23 or len(flame) == 29:
FLAMES = "ENEMIES"
elif len(flame) == 6 or len(flame) == 12 or len(flame) == 18 or len(flame) == 24 or len(flame) == 30:
FLAMES = "SECRET ADMIRERS"
print("\n{} and {} are ".format(boyName, girlName) + FLAMES)
break
def Play_Again():
"""Function that permits user to play FLAMES again"""
while True:
print("\nDo you want to play again? :")
answer = input("(Enter y/n to continue): " )
if answer == 'y' :
Flames()
else:
print("\nTHANK YOU FOR PLAYING!")
break
Flames()
Play_Again()