@@ -228,8 +228,22 @@ private bool CanExecuteRefreshCommand(object parameter)
228
228
return ! Model . IsBusy && _state . IsDirty ( ) ;
229
229
}
230
230
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
+
231
243
private void ExecuteRepeatLastRunCommand ( object parameter )
232
244
{
245
+ EnsureRubberduckIsReferencedForEarlyBoundTests ( ) ;
246
+
233
247
var tests = _model . LastRun . ToList ( ) ;
234
248
_model . ClearLastRun ( ) ;
235
249
@@ -246,6 +260,8 @@ private void ExecuteRepeatLastRunCommand(object parameter)
246
260
247
261
private void ExecuteRunNotExecutedTestsCommand ( object parameter )
248
262
{
263
+ EnsureRubberduckIsReferencedForEarlyBoundTests ( ) ;
264
+
249
265
_model . ClearLastRun ( ) ;
250
266
251
267
var stopwatch = new Stopwatch ( ) ;
@@ -261,6 +277,8 @@ private void ExecuteRunNotExecutedTestsCommand(object parameter)
261
277
262
278
private void ExecuteRunFailedTestsCommand ( object parameter )
263
279
{
280
+ EnsureRubberduckIsReferencedForEarlyBoundTests ( ) ;
281
+
264
282
_model . ClearLastRun ( ) ;
265
283
266
284
var stopwatch = new Stopwatch ( ) ;
@@ -276,6 +294,8 @@ private void ExecuteRunFailedTestsCommand(object parameter)
276
294
277
295
private void ExecuteRunPassedTestsCommand ( object parameter )
278
296
{
297
+ EnsureRubberduckIsReferencedForEarlyBoundTests ( ) ;
298
+
279
299
_model . ClearLastRun ( ) ;
280
300
281
301
var stopwatch = new Stopwatch ( ) ;
@@ -301,6 +321,8 @@ private void ExecuteSelectedTestCommand(object obj)
301
321
return ;
302
322
}
303
323
324
+ EnsureRubberduckIsReferencedForEarlyBoundTests ( ) ;
325
+
304
326
_model . ClearLastRun ( ) ;
305
327
306
328
var stopwatch = new Stopwatch ( ) ;
0 commit comments