def test_monkeypatch(monkeypatch): c = Calculator() def fake_add(a, b): return 42 monkeypatch.setattr(c, "add", fake_add) assert c.add(2, 3) == 42
def test_add_weird(): c = Calculator() # Raise error when any one is string with pytest.raises(CalculatorError) as context: result = c.add('10', 20) assert str(context.value) == '10 is not a number'
def test_div(self, a, b, c): cal = Calculator() assert c == cal.div(a, b)
def test_mul(self, a, b, c): cal = Calculator() assert c == cal.mul(a, b)
def test_sub(self, a, b, c): cal = Calculator() assert c == cal.sub(a, b)
def test_add(self, a, b, c): cal = Calculator() assert c == cal.add(a, b)
def check_div(a, b, c): cal = Calculator() assert c == cal.div(a, b)
def check_sub(a, b, c): cal = Calculator() assert c == cal.sub(a, b)
def test_div_weird(self): c = Calculator() with pytest.raises(CalculatorError): result = c.div(3, 0)
def test_mul(): c = Calculator() result = c.mul(3, 4) assert result == 12
def test_sub(): c = Calculator() result = c.sub(3, 4) assert result == -1
def test_add_parameterize(a, b, expected): c = Calculator() assert c.add(a, b) == expected
def test_add_range(): c = Calculator() for i in range(10): assert c.add(i, 2) == i+2
def test_add(): c = Calculator() result = c.add(3, 4) assert result == 7
def conf(): print("开始计算") cal = Calculator() yield cal print("计算结束")
def setUp(self): self.calc = Calculator(8, 4)
def setup(self): self.cal = Calculator()
def test_div(): c = Calculator() result = c.div(3, 10) assert result == 3/10