Skip to content

Commit 2320149

Browse files
authored
Merge branch 'next' into Issue2135
2 parents d67f66a + bbeaffb commit 2320149

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

RetailCoder.VBE/UI/Command/RunAllTestsCommand.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ protected override bool CanExecuteImpl(object parameter)
3737

3838
protected override void ExecuteImpl(object parameter)
3939
{
40+
EnsureRubberduckIsReferencedForEarlyBoundTests();
41+
4042
if (!_state.IsDirty())
4143
{
4244
RunTests();
@@ -48,6 +50,18 @@ protected override void ExecuteImpl(object parameter)
4850
}
4951
}
5052

53+
private void EnsureRubberduckIsReferencedForEarlyBoundTests()
54+
{
55+
foreach (var member in _state.AllUserDeclarations)
56+
{
57+
if (member.AsTypeName == "Rubberduck.PermissiveAssertClass" ||
58+
member.AsTypeName == "Rubberduck.AssertClass")
59+
{
60+
member.Project.EnsureReferenceToAddInLibrary();
61+
}
62+
}
63+
}
64+
5165
private void TestsRefreshed(object sender, EventArgs e)
5266
{
5367
RunTests();

RetailCoder.VBE/UI/UnitTesting/TestExplorerViewModel.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,22 @@ private bool CanExecuteRefreshCommand(object parameter)
228228
return !Model.IsBusy && _state.IsDirty();
229229
}
230230

231+
private void EnsureRubberduckIsReferencedForEarlyBoundTests()
232+
{
233+
foreach (var member in _state.AllUserDeclarations)
234+
{
235+
if (member.AsTypeName == "Rubberduck.PermissiveAssertClass" ||
236+
member.AsTypeName == "Rubberduck.AssertClass")
237+
{
238+
member.Project.EnsureReferenceToAddInLibrary();
239+
}
240+
}
241+
}
242+
231243
private void ExecuteRepeatLastRunCommand(object parameter)
232244
{
245+
EnsureRubberduckIsReferencedForEarlyBoundTests();
246+
233247
var tests = _model.LastRun.ToList();
234248
_model.ClearLastRun();
235249

@@ -246,6 +260,8 @@ private void ExecuteRepeatLastRunCommand(object parameter)
246260

247261
private void ExecuteRunNotExecutedTestsCommand(object parameter)
248262
{
263+
EnsureRubberduckIsReferencedForEarlyBoundTests();
264+
249265
_model.ClearLastRun();
250266

251267
var stopwatch = new Stopwatch();
@@ -261,6 +277,8 @@ private void ExecuteRunNotExecutedTestsCommand(object parameter)
261277

262278
private void ExecuteRunFailedTestsCommand(object parameter)
263279
{
280+
EnsureRubberduckIsReferencedForEarlyBoundTests();
281+
264282
_model.ClearLastRun();
265283

266284
var stopwatch = new Stopwatch();
@@ -276,6 +294,8 @@ private void ExecuteRunFailedTestsCommand(object parameter)
276294

277295
private void ExecuteRunPassedTestsCommand(object parameter)
278296
{
297+
EnsureRubberduckIsReferencedForEarlyBoundTests();
298+
279299
_model.ClearLastRun();
280300

281301
var stopwatch = new Stopwatch();
@@ -301,6 +321,8 @@ private void ExecuteSelectedTestCommand(object obj)
301321
return;
302322
}
303323

324+
EnsureRubberduckIsReferencedForEarlyBoundTests();
325+
304326
_model.ClearLastRun();
305327

306328
var stopwatch = new Stopwatch();

0 commit comments

Comments
 (0)