Problem med tearDown inom testmodul

  • Författare
  • Meddelande

richard_st

html-kodare

  • Inlägg: 14
  • Blev medlem: 26 aug 2019, 05:23

Problem med tearDown inom testmodul

Inlägg12 feb 2020, 08:26

Uppdatering: Problemet låg i UnorderedList-klassen. Det är därmed löst.


Hej,

Jag har försökt skapa tester till listuppgiften i KMOM04 i oopython. När jag kör testfilen i terminalen skrivs det ut:

======================================================================
FAIL: test_set (__main__.TestUnorderedList)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test.py", line 34, in test_set
self.assertEqual(self.unordered_list.get(0), "äpple")
AssertionError: 'hej' != 'äpple'
- hej
+ äpple
=======================================================

Det första testet (test_append) fungerar, men det verkar inte som att tearDown-metoden exekveras. Värdet "hej" finns kvar i listan från första testet och för med detta till efterföljande test. Jag förstår inte vad jag har missat. Koden för test.py finns nedan och raden som refereras till är:

self.assertEqual(self.unordered_list.get(0), "äpple")

Kod: Markera allt
#!/usr/bin/env python3
"""
Module for unittests
"""

import unittest
from unordered_list import UnorderedList

class TestUnorderedList(unittest.TestCase):
    """
    Test-class, derives from the class unittest.TestCase
    """

    def setUp(self):
        """ Create UnorderedList object for all tests """
        self.unordered_list = UnorderedList()

    def tearDown(self):
        """ Remove dependencies after test """
        self.unordered_list.dispose()
        self.unordered_list = None

    def test_append(self):
        self.assertTrue(self.unordered_list.append("hej"), True)

        self.assertEqual(self.unordered_list.size(), 1)
        self.assertEqual(self.unordered_list.get(0), "hej")
        self.assertEqual(self.unordered_list.index_of("hej"), 0)

    def test_set(self):
        self.unordered_list.append("äpple")
        self.unordered_list.append("banan")
        self.unordered_list.append("igelkott")

        self.assertEqual(self.unordered_list.get(0), "äpple")
        self.assertEqual(self.unordered_list.get(1), "banan")
        self.assertEqual(self.unordered_list.get(2), "igelkott")

        self.unordered_list.set(0, "fanta")
        self.unordered_list.set(1, "läsk")
        self.unordered_list.set(2, "kanon")

        self.assertEqual(self.unordered_list.get(0), "fanta")
        self.assertEqual(self.unordered_list.get(1), "läsk")
        self.assertEqual(self.unordered_list.get(2), "kanon")
        self.assertNotEqual(self.unordered_list.get(0), "baron")
        self.assertNotEqual(self.unordered_list.get(1), "baron")
        self.assertNotEqual(self.unordered_list.get(2), "baron")

if __name__ == '__main__':
    unittest.main(verbosity=3)


Mvh,

Richard

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 20 gäster