Python 单元测试问题:并非所有参数在字符串格式化期间都已转换

Python Unittest woes: not all argument converted during string formatting

当 运行ning 单元测试时,我收到 "not all arguments converted during string formatting." 当直接 运行ning 代码时,一切正常;只有 运行ning Unittest 才是问题所在。当我运行同样的命令直接map.add_node('a','b','c','d')就没有问题

主程序:

    def add_node(self, *args):
      main_node = args[0]
      connected_nodes = args[1:]
      if main_node in self.graph_dict:
        main_node = str(main_node) #getting desperate here
        print('%s in graph already. Updating...\n' % main_node) #** problem is here
      else:
        print('%s added.\n' % main_node)
      self.graph_dict.update({main_node: connected_nodes})
      return

单元测试:

  def test_add_node(self):
       graph = main.Graph()
       nodes = ('a', 'b', 'c', 'd')
       graph.add_node(nodes)
       self.assertEqual(True,False)```


你不是在比较苹果。

您描述了两种调用方式add_node(),其中一种是错误的。

也许你的意思是:

graph.add_node(*nodes)