如何测试Python Sudoku类

时间:2019-03-13 13:50:45

标签: python unit-testing

我正在为Sudoku Checker编写基本测试,但是测试存在问题。我不确定发生了什么。如果我应该退货。我真的不知道。请帮忙谢谢你。

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)

1 个答案:

答案 0 :(得分:2)

您应该更改TestSum类中的方法的名称

    def willWork(self):

收件人

    def testWillWork(self):

您可以在写得很好的Python文档中找到更多信息-https://docs.python.org/3/library/unittest.html

相关问题