Методы класса, такие как unittest.TestCase.assertEqual
, не выполняются вне контекста, предоставленного экземпляром этого класса. Итак, строка типа вашего 'assertEqual(b, 5)'
на самом деле очень, ОЧЕНЬ плохой случай - обратите внимание, что записанная строка не будет никогда выполняться должным образом (вам нужно, по крайней мере, предварительно добавить нечто вроде 'self.'
, а затем self
необходимо превратить в экземпляр класса и т. д. и т. д.).
Я не совсем уверен, почему вы хотите поддерживать такие катастрофические конструкции, но, если вы непреклонны, что вы делаете любой ценой, то это общая идея: сделать экземпляр класса unittest.Testcase
, добавьте к этой строке имя ссылки на экземпляр и точку и выполните эту составную строку. Затем, конечно, вы попадаете во всевозможные другие забавные требования, такие как перехват исключений, которые могут быть повышены (поскольку у вас на самом деле нет тестового бегуна, который бы выполнял все такие вспомогательные задачи за вас). Yecch.