class FubuRake::NUnit

Public Class Methods

create_task(tasks, options) click to toggle source
# File lib/nunit.rb, line 4
def self.create_task(tasks, options)
        nunitTask = nil

        tests = Array.new

        if options[:unit_test_projects].any?
                tests = options[:unit_test_projects]
        elsif options[:unit_test_list_file] != nil and File::exists?(options[:unit_test_list_file])
                file = options[:unit_test_list_file]

                tests = NUnitRunner.readFromFile(file)

        else
                # just find testing projects
                Dir.glob('**/*.{Testing,Tests}.csproj').each do |f|
                         test = File.basename(f, ".csproj")
                         tests.push test
                end 
        end

        if !tests.empty?
                nunitTask = Rake::Task.define_task :unit_test do
                        runner = NUnitRunner.new options
                        runner.executeTests tests
                end

                nunitTask.enhance [:compile]
                nunitTask.add_description "Runs unit tests for " + tests.join(', ')
        end

        if tasks.integration_test != nil
                integrationTask = Rake::Task.define_task :integration_test do
                        runner = NUnitRunner.new options
                        runner.executeTests tasks.integration_test
                end

                integrationTask.enhance [:compile]
                integrationTask.add_description "integration tests: #{tasks.integration_test.join(', ')}"
        end
end