我正在为我的数独检查器编写基本测试,但我在测试时遇到问题。我不确定发生了什么事。如果我应该返回一些东西。我真的不知道。请帮忙谢谢。
class Sudoku_Checker(object):
def __init__(self,board):
self.board = board
def board_validater():
checkRows(self.board)
checkCols(self.board)
checkSquares(self.board)
return checkRows() == True and checkCols() == True and checkSquares() == True
# def checkRows:
#
# def checkCols:
#
# def checkSquares:
这是我编写的测试。当我在终端中运行它们时,它只是说“在 0.000 秒内运行 0 次测试”。我不知道为什么它不起作用。
from ValidSudoku import *
class TestSum(unittest.TestCase):
def willWork(self):
"""
Check to return True
"""
grid = [ [5, 3, 4, 6, 7, 8, 9, 1, 2],
[6, 7, 2, 1, 9, 5, 3, 4, 8],
[1, 9, 8, 3, 4, 2, 5, 6, 7],
[8, 5, 9, 7, 6, 1, 4, 2, 3],
[4, 2, 6, 8, 5, 3, 7, 9, 1],
[7, 1, 3, 9, 2, 4, 8, 5, 6],
[9, 6, 1, 5, 3, 7, 2, 8, 4],
[2, 8, 7, 4, 1, 9, 6, 3, 5],
[3, 4, 5, 2, 8, 6, 1, 7, 9]]
result = Sudoku_Checker.board_validater(grid)
self.assertTrue(result)
def willWork2(self):
"""
Check to return False
"""
grid = [
[5, 3, 4, 6, 7, 8, 9, 1, 2],
[6, 7, 2, 1, 9, 0, 3, 4, 8],
[1, 0, 0, 3, 4, 2, 5, 6, 0],
[8, 5, 9, 7, 6, 1, 0, 2, 0],
[4, 2, 6, 8, 5, 3, 7, 9, 1],
[7, 1, 3, 9, 2, 4, 8, 5, 6],
[9, 0, 1, 5, 3, 7, 2, 1, 4],
[2, 8, 7, 4, 1, 9, 6, 3, 5],
[3, 0, 0, 4, 8, 1, 1, 7, 9]
]
result = Sudoku_Checker.board_validater(grid)
self.assertFalse(result)
最佳答案
您应该更改 TestSum 类中的方法名称
def willWork(self):
至
def testWillWork(self):
您可以在精彩的 Python 文档中找到更多信息 - https://docs.python.org/3/library/unittest.html
关于python - 如何测试 Python 数独类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55143512/