Class: FubuRake::NUnitRunner

Inherits:
Object
  • Object
show all
Includes:
FileTest
Defined in:
lib/nunit.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(paths) ⇒ NUnitRunner

Returns a new instance of NUnitRunner.



51
52
53
54
55
56
57
58
# File 'lib/nunit.rb', line 51

def initialize(paths)
	@sourceDir = paths.fetch(:source, 'src')
	@resultsDir = paths.fetch(:results, 'results')
	@compilePlatform = paths.fetch(:platform, '')
	@compileTarget = paths.fetch(:compilemode, 'debug')
	@clrversion = paths.fetch(:clrversion,	'v4.0.30319')
	@nunitExe = Nuget.tool("NUnit", "nunit-console#{(@compilePlatform.empty? ? '' : "-#{@compilePlatform}")}.exe") + Platform.switch("nothread")
end

Class Method Details

.readFromFile(file) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/nunit.rb', line 70

def self.readFromFile(file)
	tests = Array.new

	file = File.new(file, "r")
	assemblies = file.readlines()
	assemblies.each do |a|
		test = a.gsub("\r\n", "").gsub("\n", "")
		tests.push(test)
	end
	file.close

	return tests
end

Instance Method Details

#executeTests(assemblies) ⇒ Object



60
61
62
63
64
65
66
67
68
# File 'lib/nunit.rb', line 60

def executeTests(assemblies)
	Dir.mkdir @resultsDir unless exists?(@resultsDir)

	assemblies.each do |assem|
		file = File.expand_path("#{@sourceDir}/#{assem}/bin/#{@compilePlatform.empty? ? '' : @compilePlatform + '/'}#{@compileTarget}/#{assem}.dll")
		puts "The platform is #{@compilePlatform}"
		sh Platform.runtime("#{@nunitExe} -noshadow -xml=#{@resultsDir}/#{assem}-TestResults.xml \"#{file}\"", @clrversion)
	end
end

#executeTestsInFile(file) ⇒ Object



84
85
86
87
88
89
90
91
92
93
94
# File 'lib/nunit.rb', line 84

def executeTestsInFile(file)
	if !File.exist?(file)
		throw "File #{file} does not exist"
	end

	tests = readFromFile(file)

	if (!tests.empty?)
		executeTests tests
	end
end