[NUnit] Vage nullpointer bij uitvoeren test

Pagina: 1
Acties:

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Topicstarter
Ik ben bezig met het unit testen van een component. Dit unit testen doe ik met NUnit-console.
Het component maakt gebruik van de kernel32.dll (unmanageg) om te communiceren met de COM poort.

Ik krijg in mijn console de volgende melding:
code:
1
2
3
4
5
6
7
8
9
10
NUnit version 2.2.0
Copyright (C) 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, C
harlie Poole.
Copyright (C) 2000-2003 Philip Craig.
All Rights Reserved.

OS Version: Microsoft Windows NT 5.1.2600.0    .NET Version: 1.1.4322.2032
.
##### Unhandled Exception while running SimpleSerialPortDriverTest.SerialPortTest.ReOpen
System.NullReferenceException: Object reference not set to an instance of an object.

Terwijl dit de method ReOpen is:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 public void ReOpen()
        {
            try
            {
                _firstPort.Close();
                _firstPort.Open();
                ReadValid();
                _firstPort.Close();
                _firstPort.Open();
                ReadValid();
                _firstPort.Close();
                _firstPort.Open();
                ReadValid();
            }
            catch (Exception ex)
            {
                bool waar = true;
            }
        }

_firstPort wordt in de [setup] ge-initaliseerd.
de methodes close(), open() en readValid zijn ook allemaal volledig ontsloten in try/catch constructies.

Erg raar gedrag vind ik het. Iemand eerder al een keer tegen dit probleem aangelopen?


Edit: ik krijg de indruk dat de nullpointer uit: System.Runtime.Serialization.FormatterServices.GetTypeFromAssembly komt.

[ Voor 5% gewijzigd door wasigh op 08-12-2005 16:44 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:33
Ik heb niet direct een oplossing, maar wel een tip.
Installeer Testdriven.NET. Dat is een plugin die je NUnit unit-tests vanuit VS.NET kan laten runnen. Op die manier kan je dus ook gebruik makken van de debugger tijdens het testen.

https://fgheysels.github.io/


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Topicstarter
Ik maak ook gebruik van de debugger tijdens testen. Als start action van het project laad ik de Nunit Console applicatie.

Maar ook daar kom ik weinig wijs uit. Ook al step ik door de code de foutmelding komt redelijk willekeurig.

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:33
wat zegt de stacktrace ?

https://fgheysels.github.io/


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Topicstarter
Niets, de exception wordt niet gecatched. Ik krijg een VS.net window dat ik een unhandled exception heb in een Unknown Module.
Als ik dan op break click zegt ie:

"There is no source code available for the current location".

Het vreemde is dus vooral dat hij zegt dat hij een method is namelijk: ReOpen. Maar dat ik daar de exception niet kan catchen.
Daarom gok ik dat het een fout in nunit is.


Edit:

Ik ben erachter dat NUnit de exception gooit in: ConsoleUI.cs#410
UnhandledException( Exception exception )

Nu nog een debug bare build maken van NUnit..

[ Voor 19% gewijzigd door wasigh op 08-12-2005 17:22 ]


  • beriz
  • Registratie: Juni 2004
  • Laatst online: 23-05-2021
probeer anders eens met NUnit versie 2.2.2
Misschien biedt dit een oplossing?
Pagina: 1