Python unittest

K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 3 lata
  • Postów:28
0

Witam, mam problem z wykonaniem unittestu na zrobionym przeze mnie skrypcie. Otóż gdy wykonałam unittest dla obu funkcji to na zmianę wyświetla się wykonanie obu lub jednego testu. Kombinowałam na różne sposoby, ale nic to nie dało. Bardzo proszę o pomoc.

Kopiuj
def GiveGeomSeqElement(a1=2, factor=2, index=2):
    # value of 64 elements of a geometric string with the first element 1 and a factor of 2
    value = a1 * pow(factor, index - 1)
    print("I")
    return value


def GiveGeomSeqElementII(a1=3, factor=2, maxindex=10):

    for i in range(1, maxindex):
        an = GiveGeomSeqElement(a1=a1, factor=factor, index=i)
        #print("element", i, "value:", an)
        print("II")
        return True


if __name__ == "__main__":
    GiveGeomSeqElement()
    GiveGeomSeqElementII()
Kopiuj
import main
import unittest


class testMain(unittest.TestCase):

    def test_GiveGeomSeqElement(self):

        self.assertNotEqual(8, main.GiveGeomSeqElement(3, 2, 10))
        self.assertEqual(32768, main.GiveGeomSeqElement(1, 2, 16))
        self.assertEqual(-32, main.GiveGeomSeqElement(1, -2, 6))
        self.assertNotEqual(1, main.GiveGeomSeqElement(1, 2, 0))
        self.assertEqual(0, main.GiveGeomSeqElement(1, 0, 2))

    def test_GiveGeomSeqElementII(self):

        self.assertTrue(main.GiveGeomSeqElementII())


if __name__ == "__main__":
    unittest.main()
edytowany 3x, ostatnio: kasia13130
superdurszlak
Trudno jest utrudnić analizowanie kodu bardziej niż wrzucając zrzuty ekranu, szczególnie w liczbie mnogiej. Zrób proszę użytek z jakiegoś pastebin lub możliwości wklejenia sformatowanego kodu na forum (znaczniki ```)
TurkucPodjadek
TurkucPodjadek
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 4 lata
  • Postów:607
0
  1. Stosuj snake_case zamiast camelCase
  2. Plik z funkcjami GiveGeomSeqElement i GiveGeomSeqElementII powinien nazywać się main.py w Twoim przykładzie, zakładając że plik z testami i ten plik znajdują się w tym samym katalogu.
K1
Nie bardzo rozumie o co chodzi z pierwszym punktem, który podałeś. Jest to drugi test który robię i jeszcze do końca się na tym nie znam. A co drugiego punktu to plik ma z tymi funkcjami nazywa się main.py.
ledi12
  • Rejestracja:prawie 6 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Wrocław
2

w funkcji

Kopiuj
GiveGeomSeqElementII

wywolujesz

Kopiuj
GiveGeomSeqElement

dlatego printuje sie na zmiane I/II


Robię http response status cody w martwych ciągach
edytowany 2x, ostatnio: ledi12

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.