-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRakefile.rb
48 lines (37 loc) · 1.47 KB
/
Rakefile.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# encoding: utf-8
require 'rubygems'
require 'albacore'
require 'rake/clean'
require 'rexml/document'
CONFIGURATION = 'Release'
SOLUTION_FILE = 'Source/DDDIntro.sln'
Albacore.configure do |config|
config.log_level = :verbose
config.msbuild.use :net4
end
#Add the folders that should be cleaned as part of the clean task
CLEAN.include(FileList["Source/**/#{CONFIGURATION}"])
# files for a pristine working copy (or just use git clean)
CLOBBER.include(FileList["Source/packages/**", "Source/**/*.user", "Source/**/*.suo", "Source/**/*.cache", "Source/_ReSharper*"])
desc "Compiles solution and runs unit tests"
task :default => [:clean, :compile, :test]
desc "Executes all MSpec and NUnit tests"
task :test => [:mspec, :nunit]
desc "Compile solution file"
msbuild :compile do |msb|
msb.properties :configuration => CONFIGURATION
msb.targets :Clean, :Build
msb.solution = SOLUTION_FILE
end
desc "Executes MSpec tests"
mspec :mspec do |mspec| # => [:compile]
specs = FileList["Source/**/#{CONFIGURATION}/*Tests.dll"].exclude(/obj\//)
mspec.command = "Source/packages/Machine.Specifications.0.5.9/tools/mspec-x86-clr4.exe"
mspec.assemblies = specs
end
desc "Executes NUnit tests"
nunit :nunit => [:compile] do |nunit|
tests = FileList["Source/**/#{CONFIGURATION}/*Tests.dll"].exclude(/obj\//)
nunit.command = "Source/packages/NUnit.Runners.2.6.1/tools/nunit-console.exe"
nunit.assemblies = tests
end