Since you only create an observable array in one place, you could simplify this test file a bunch:

```diff
-  var suiteSandbox = sinon.sandbox.create();
-  suiteSetup(function() {
-    var OriginalObservableArray = ObservableArray;
-    // stub the real ObservableArray to create spies on observe method
-    suiteSandbox.stub(window, 'ObservableArray', function() {
-      var result = OriginalObservableArray.apply(this, arguments);
-      sinon.spy(result, 'observe');
-      return result;
-    });
-
-  });
-  suiteTeardown(function() {
-    suiteSandbox.restore();
-  });

   setup(function() {
     this.array = [];
     this.observableArray = ObservableArray(this.array);
+    sinon.spy(this.observableArray, 'observe');
     ObservableArray.reset();
   });
```

...or even more specifically:

```diff
     setup(function() {
       this.ul = document.createElement('ul');
       this.template = function(item, recycle) {
         return document.createElement('li');
       };
       this.sinon.spy(this, 'template');
+      sinon.spy(this.observableArray, 'observe');
       this.listView = ListView(this.ul, this.observableArray, this.template);
     });
```