class NUnit
Attributes
nuget_nunit_version[RW]
nuget_path[RW]
teamcity_nunit_version[RW]
Public Class Methods
new()
click to toggle source
# File lib/nunitr/nunit.rb, line 7 def initialize() @teamcity_nunit_version = 'v4.0 x86 NUnit-2.5.3' @nuget_nunit_version = '2.6.0.12051' @nuget_path = './.nuget/NuGet.exe' end
Public Instance Methods
category(name, tags)
click to toggle source
# File lib/nunitr/nunit.rb, line 41 def category(name, tags) return '' if(tags.nil? or tags.empty?) return " /category-#{name}:#{tags.gsub(',', ';')}" if !ENV['teamcity.dotnet.nunitlauncher'].nil? return " /#{name}:#{tags}" end
run(pattern, environment=nil, include=nil, exclude=nil)
click to toggle source
# File lib/nunitr/nunit.rb, line 13 def run(pattern, environment=nil, include=nil, exclude=nil) glob_pattern = "**/[b][i][n]/Release/#{pattern}.dll" dlls = Dir.glob(glob_pattern) raise TestFilesNotFound, "No tests found for pattern #{glob_pattern}" if dlls.empty? if !environment.nil? dlls.each do |dll| config = File.dirname(dll) + "/App.#{environment}.config" raise ConfigFileNotFound, "Config file #{config} not found" if !File.exists?(config) sh "copy #{config} #{dll + '.config'}".gsub('/', '\\') end end includes = category('include', include) excludes = category('exclude', exclude) sh "#{runner} #{dlls.join(' ').strip}#{includes}#{excludes}" end
runner()
click to toggle source
# File lib/nunitr/nunit.rb, line 32 def runner if ENV['teamcity.dotnet.nunitlauncher'].nil? sh "#{@nuget_path} install Nunit.Runners -o ./tools -Version #{@nuget_nunit_version}" return Dir.glob("./tools/*#{@nuget_nunit_version}/**/nunit-console.exe").last end return "#{ENV['teamcity.dotnet.nunitlauncher']} #{@teamcity_nunit_version}" end