Under the umbrella of Web-CAT development, we also are working on a number of Visual Studio.NET packages that are designed to support unit testing by students, as well as to integrate Web-CAT-style assignment grading right into the IDE. The following paper presents a good overview of our work for the Eclipse IDE, which was used as the basis for similar functionality implemented in Visual Studio.NET:

All of our packages can be downloaded from our SourceForge file releases site.

Electronic Submission Package

See: /SubmissionPackage

This package provides a core engine and user interface to allow students or other users to package and submit their projects easily from within Visual Studio.NET to an automated grading system or file collection server.

The key features of this package include:

  • Built-in support for http, https, ftp, mailto, and file protocols
  • Built-in support for ZIP archiving
  • Additional protocols/packagers can be added by writing an additional add-in or package that registers them with the main package
  • Hierarchical tree of submission targets configured by an easy-to-understand XML file
  • File-pattern-based inclusion and exclusion of files in submissions
  • File-pattern-based specification of required files in submissions

CxxTest Package

See: /CxxTestPackage

CxxTest is a unit-testing framework for C++ development that behaves similarly to unit-testing frameworks for other languages, such as JUnit. This package provides integration with Visual Studio.NET. Some key features are:

  • Automatically detects test suites in a project by navigating the project's C++ source tree and code model
  • Generates a source file to run all test suites that will be compiled with the containing project
  • Select/deselect which test cases will be executed without altering their code
  • Test results appear in a dockable CxxTest tool window in the IDE