Need NCover-help as I'm trying to gauge the code coverage of my .NETmodules

O

Oltmans

Hi,
I've downloaded NCover 1.5.8. I want to see the code coverage of Dot
Net (C#) modules in our code repository. (For the sake of an example)
In terms of directory structure we've a parent directory named
"Parent" and it contains two sub-directories namely; "SampleModule"
and "SampleModule.Test".

So above indicates that we've a SampleModule and all of its unit tests
are in directory named "SampleModule.Test". Now please pardon my
ignorance as I'm naive when it comes to code coverage in .NET.
Directory "SampleModule.Test" contains a DLL and I'm just guessing
that I should plug this DLL into NCover to get the complete code
coverage on module named "SampleModule", does that sound right? If
it's true then I'm trying this and it's not working, here is my screen
dump
------

C:\Program Files (x86)\NCover>ncover.console //a c:\parent\SampleModule
\dlls\SampleModule.dll
NCover.Console v1.5.8 - Code Coverage Analysis for .NET - http://ncover.org
Copyright (c) 2004-2006 Peter Waldschmidt

Error: You must specify a command to execute.

Usage: ncover.console [<command> [<command args>]]
[//svc <service name>]
[//iis] [//v] [//q]
[//a <assembly list>] [//l <log file>]
[//x <xml output file>]
[//s [<settings file>]] [//r [<settings file>]]
[//w <working directory>]

Example command line to launch profiled application
ncover.console myapp.exe arg1 arg2
ncover.console //svc MyService
ncover.console //iis

NOTE: Any command line parameters that do not start with '//'
are passed to the profiled application on its command
line.

//a List of assemblies to profile separated by semi-colons
i.e. "MyAssembly1;MyAssembly2"
//w Working directory for profiled application
//ea List of attributes marking classes or methods to exclude from
coverage

//reg Register profiler temporarily for user. (helps with xcopy
deployment)
//l Specify profiler log file
//x Specify coverage output file
//h Specify HTML report output path
//pm Specify name of process to profile (i.e. myapp.exe)

//s Save settings to a file (defaults: NCover.Settings)
//r Use settings file, overriding other settings (default:
NCover.Settings)

//q No logging (quiet)
//v Enable verbose logging (show instrumented code)

C:\Program Files (x86)\NCover>

------

Two questions
1- Does my approach sound right in terms of producing code coverage
reports for "SampleModule"?
2- Why is above not working?

Please pardon my ignorance & enlighten me. I will really appreciate
your help.

Thanks.
 
C

Carl Ganz

Hi,
I've downloaded NCover 1.5.8. I want to see the code coverage of Dot
Net (C#) modules in our code repository. (For the sake of an example)
In terms of directory structure we've a parent directory named
"Parent" and it contains two sub-directories namely; "SampleModule"
and "SampleModule.Test".

So above indicates that we've a SampleModule and all of its unit tests
are in directory named "SampleModule.Test". Now please pardon my
ignorance as I'm naive when it comes to code coverage in .NET.
Directory "SampleModule.Test" contains a DLL and I'm just guessing
that I should plug this DLL into NCover to get the complete code
coverage on module named "SampleModule", does that sound right? If
it's true then I'm trying this and it's not working, here is my screen
dump
------

C:\Program Files (x86)\NCover>ncover.console //a c:\parent\SampleModule
\dlls\SampleModule.dll
NCover.Console v1.5.8 - Code Coverage Analysis for .NET -http://ncover.org
Copyright (c) 2004-2006 Peter Waldschmidt

Error: You must specify a command to execute.

Usage: ncover.console [<command> [<command args>]]
                      [//svc <service name>]
                      [//iis] [//v] [//q]
                      [//a <assembly list>] [//l <log file>]
                      [//x <xml output file>]
                      [//s [<settings file>]] [//r [<settings file>]]
                      [//w <working directory>]

       Example command line to launch profiled application
         ncover.console myapp.exe arg1 arg2
         ncover.console //svc MyService
         ncover.console //iis

       NOTE: Any command line parameters that do not start with '//'
             are passed to the profiled application on its command
line.

//a    List of assemblies to profile separated by semi-colons
        i.e. "MyAssembly1;MyAssembly2"
//w    Working directory for profiled application
//ea   List of attributes marking classes or methods to exclude from
coverage

//reg  Register profiler temporarily for user. (helps with xcopy
deployment)
//l    Specify profiler log file
//x    Specify coverage output file
//h    Specify HTML report output path
//pm   Specify name of process to profile (i.e. myapp.exe)

//s    Save settings to a file (defaults: NCover.Settings)
//r    Use settings file, overriding other settings (default:
NCover.Settings)

//q    No logging (quiet)
//v    Enable verbose logging (show instrumented code)

C:\Program Files (x86)\NCover>

------

Two questions
1- Does my approach sound right in terms of producing code coverage
reports for "SampleModule"?
2- Why is above not working?

Please pardon my ignorance & enlighten me. I will really appreciate
your help.

Thanks.

I've never tried to run NCover against a DLL directly. I would think
that since a DLL does not have an entry point, you would need to
create a simple EXE that invokes its classes and methods, run NCover
against that, and the enter the code for the DLL from the EXE.

Hope this helps.

Carl
 
O

Oltmans

I've never tried to run NCover against a DLL directly. I would think
that since a DLL does not have an entry point, you would need to
create a simple EXE that invokes its classes and methods, run NCover
against that, and the enter the code for the DLL from the EXE.

SampleModule.Test is a class library project. Do you still think I
will have to create a EXE that invoke its classes and methods? Please
enlighten me. Thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top