Class: Test

Inherits:
CommandArray show all
Defined in:
lib/test.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from CommandArray

#add

Class Method Details

.nunit_consoleObject



44
45
46
47
48
# File 'lib/test.rb', line 44

def self.nunit_console
  nunit="C:\\Program Files (x86)\\NUnit 2.6.4\\bin\\nunit-console.exe"
  nunit="C:\\Program Files (x86)\\NUnit 2.6.3\\bin\\nunit-console.exe" if(!File.exists?(nunit))
  nunit
end

.nunit_console_x86Object



49
50
51
52
53
# File 'lib/test.rb', line 49

def self.nunit_console_x86
  nunit="C:\\Program Files (x86)\\NUnit 2.6.4\\bin\\nunit-console-x86.exe"
  nunit="C:\\Program Files (x86)\\NUnit 2.6.3\\bin\\nunit-console-x86.exe" if(!File.exists?(nunit))
  nunit
end

Instance Method Details

#collect_nunit_filesObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/test.rb', line 28

def collect_nunit_files
	results=Array.new
  Dir.glob("*.csproj").each{|p|
   text = File.read(p)
if(text.include?("nunit.framework.dll"))
  # extract AssemblyName of form:  <AssemblyName>MyLibrary.Test</AssemblyName>
  assemblyName=text[/<AssemblyName>([\w\.]+)</,1]
  outputPath=text[/Release[.\w\W]+<OutputPath>([\w\.\\]+)</,1]
  if(!assemblyName.nil? && !outputPath.nil?)
  	results << "#{outputPath}\\#{assemblyName}.dll".gsub("\\\\","\\").gsub('/','\\')
  end
end
 }
results
end

#updateObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/test.rb', line 5

def update
  # rspec tests, 'rspec --pattern="**/*.spec"'
 self.add 'rspec' if(Dir.glob("**/*spec.rb").length > 0)

  test_files=collect_nunit_files
 if(defined?(DEV_TASKS) && DEV_TASKS.has_key?(:files) && DEV_TASKS[:files].has_key?(:test))
    test_files=DEV_TASKS[:files][:test]
 end

  if(!test_files.nil?)
  	test_files.each {|tf|
  		if(tf.include?('.dll'))
  		   nunit_dll=tf
  		  if(nunit_dll.include?('x86'))
  		  	self.add "\"#{Test.nunit_console_x86}\" \"#{Rake.application.original_dir}\\#{nunit_dll}\" /xml:\"#{nunit_dll}.TestResults.xml\""
  		  else
  		  	self.add "\"#{Test.nunit_console}\" \"#{Rake.application.original_dir}\\#{nunit_dll}\" /xml:\"#{nunit_dll}.TestResults.xml\""
  		  end
  		end
  	}
  end
end