python - 如何测试 Python 数独类

标签 python unit-testing

我正在为我的数独检查器编写基本测试,但我在测试时遇到问题。我不确定发生了什么事。如果我应该返回一些东西。我真的不知道。请帮忙谢谢。

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/

相关文章:

java - 在单元测试中捕获 SQLException 而不是 Spring DataIntegrityViolationException

unit-testing - 带和不带 ParameterFilter 的模拟 Get-ADUser

Python doctest 如何在输出中匹配单引号或双引号而不是仅匹配单引号

python - 值错误 : no such test method in <class 'myapp.tests.SessionTestCase' >: runTest

python - 编写等同于返回其输入对象的 Python 函数的 pyo3 函数

python - 按列迭代 scipy 稀疏矩阵

python - 如何使用Jmeter OS Process sampler进程python脚本

python - 读取和打印工作簿中工作表的内容 - openpyxl

python - 写入 JSON 时如何不转义反斜杠

python - 强制Hive表中的每一行使用一个映射器