首页 > 其他分享 >testing-code-测试代码unittest如何编写?

testing-code-测试代码unittest如何编写?

时间:2023-09-14 10:13:37浏览次数:47  
标签:code last name get unittest testing formatted first

1---name_function.py函数

name_function.py用来获取人名,入参时选择姓、名、中间字三项(middle为可选入参项)

1 #!usr/bin/env/python
2 
3 def get_formatted_name(first,last,middle=""):
4     if middle:
5         full_name = f"{first} {middle} {last}"
6         return full_name.title()
7     else:
8         full_name = f"{first} {last}"
9         return full_name.title()

2---names.py函数

#!usr/bin/env/python

from name_function import get_formatted_name

print("Enter 'q' at any time to quit !")

while True:
    first = input(f"\nPlease give me a first name:")
    if first == "q":
        break
    last = input(f"Please give me a last name:")
    if last == "q":
        break

    formatted_name = get_formatted_name(first,last)
    print(f"Neatly formatted name:{formatted_name} !")

3---test_name_function.py函数

#!/usr/bin/env/python:这是脚本的shebang,用于指定运行脚本的解释器。

import unittest:导入unittest模块,用于编写和执行测试用例。

from name_function import get_formatted_name:从name_function模块中导入get_formatted_name函数,以便在测试中使用。

class NamesTestCase(unittest.TestCase)::定义一个名为NamesTestCase的测试类,它继承自unittest.TestCase。

def test_first_last_name(self)::定义一个名为test_first_last_name的测试方法,用于测试get_formatted_name函数是否能够正确处理只有姓和名的情况。

self.assertEqual(formatted_name, "Janis Joplin"):使用self.assertEqual()断言方法,检查formatted_name的值是否等于"Janis Joplin"。

def test_first_middle_last(self)::定义一个名为test_first_middle_last的测试方法,用于测试get_formatted_name函数是否能够正确处理有姓、中间名和名的情况。

unittest.main():执行测试脚本,并运行所有的测试方法。
#!usr/bin/env/python

import unittest
from name_function import get_formatted_name

class NamesTestCase(unittest.TestCase):
    """测试name_function.py"""

    def test_first_last_name(self):
        """能够正确处理类似于以下的例子吗?"""
        formatted_name = get_formatted_name("janis","joplin")
        self.assertEqual(formatted_name,"Janis Joplin")

    def test_first_middle_last(self):
        formatted_name = get_formatted_name("janis","joplin","key")
        self.assertEqual(formatted_name,"Janis Key Joplin")

if __name__ == "__main__":
    unittest.main()

  4、常见的断言方法方法 用途

方法                            用途
assertEqual(a,b) 核实a == b
assertNotEqual(a,b) 核实a != b
assertTure(x) 核实x为True
assertFalse(x) 核实x为False
assertIn(Item,list) 核实item在list中
assertNotIn(Item,list) 核实item不在list中

 

get_formatted_name

标签:code,last,name,get,unittest,testing,formatted,first
From: https://www.cnblogs.com/life-pinggen/p/17700218.html

相关文章

  • AtCoder Beginner Contest 319 全部题解
    AtCoderBeginnerContest319全部题解ALegendaryPlayers该题只需使用判断来写出所有的答案,注意不要复制错。#include<bits/stdc++.h>usingnamespacestd;strings;intmain(){ cin>>s; if(s=="tourist")cout<<3858<<endl; if(s=="ksun4......
  • [LeetCode] 85. Maximal Rectangle_Hard tag: Dynamic Programming
    Givena rowsxcols binary matrix filledwith 0'sand 1's,findthelargestrectanglecontainingonly 1'sandreturn itsarea. Example1:Input:matrix=[["1","0","1","0","0"],["1&q......
  • LeetCode349 两个数组的交集
    LeetCode349 两个数组的交集https://leetcode.cn/problems/intersection-of-two-arrays/学习内容给两个数组,返回这两个数组的交集。如一个数组是22946,一个数组是1221,这两个数组的交集是2。用数组来保存交集,可能会没有去重。交集为元素2就可以了。这道题目用set来解决的一个比较好......
  • VSCode 配置Markdown模板
    ⇦1.工具篇-VSCode快捷键的使用待新增⇨前言避免重复写博客的相同部分,自定义markdown模板一.教程步骤总结1.配置settings.json快捷键ctrl+shift+P打开命令面板输入settings.json选中openusersettings添加配置:"[markdown]":{"editor.quickSuggestions":......
  • Codeforces 1868C/1869E Travel Plan 题解 | 巧妙思路与 dp
    题目链接:TravelPlan题目大意:\(n\)个点的完全二叉树,每个点可以分配\(1\simm\)的点权,定义路径价值为路径中最大的点权,求所有路径的价值和。对于任意长度(这里主要指包括几个节点)的路径\(t\),最大点权不超过\(k\)的方案数有\(k^t\)个,因此最大点权恰好为\(k\)的方案数有......
  • leetcode 二叉树的最大深度
    给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。示例1:输入:root=[3,9,20,null,null,15,7]输出:3示例2:输入:root=[1,null,2]输出:2解题思路这里可以转化思路为计算当前节点左子树的深度和右子树的深度......
  • Codeforces Round 781 (Div. 2) B. Array Cloning Technique
    给一个长度为\(n\)的数组\(a\)。开始只有一份所给\(a\)的副本。你可以做以下两种操作:选择任意一个副本并且克隆它,然后将会多出一个克隆副本。交换两个元素,他们属于任意两个副本(可能是同一个)。需要判断最小操作数,使有一个副本的所有元素相同。观察一:只需要在开始的副本......
  • Codeforces Round 787 (Div. 3) B. Make It Increasing
    给一个长为\(n\)的数组\(a_1,a_2,\cdots,a_n\quad(0\leqa_i\leq10^9)\)。可以执行以下操作任意次:选择任意一个\(a_i\)并且执行\(a_i=\lfloor\frac{a_i}{2}\rfloor\)。输出最小操作次数,使得数组所有元素变为严格递增。观察:数组一些位置变小,将数组变为严......
  • Xcode 15 Release Candidate (15A240d) 发布 - Apple 平台 IDE
    Xcode15ReleaseCandidate(15A240d)发布-Apple平台IDEIDEforiOS/iPadOS/macOS/watchOS/tvOS/visonOS请访问原文链接:https://sysin.org/blog/apple-xcode-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgvisonOS支持已更新。Xcode15使您能够为所有......
  • Codeforces Round 791 (Div. 2) A. AvtoBus
    已知有\(n\)个轮子,会有一个车队车来换轮,且恰好使用完这些轮子。只知道这些车中有\(4\)轮车和\(6\)轮车。你需要估计这个车队最少可能有多少车和最多可能有多少车,或判断这是完全不可能的。观察:\(4x+6y=n\),由裴蜀定理,当\(2\midn\)有解且\(2x+3y=\frac{n}{2}\)......