Я решил это! Во-первых: мне нужно было установить тайм-аут в package.json равным 10000 миллисекундам:
"test": "nyc mocha --require @babel/register --require @babel/polyfill tests/unit/**/*.test.js --timeout 10000"
Во-вторых: мне пришлось создать соединение с моей базой данных MongoDB (и, конечно же, отключиться после тестирования).
before(done =>{
mongoose.connect('mongodb://localhost:27017/FindMates', {useNewUrlParser: true });
mongoose.set('useCreateIndex', true);
mongoose.set('useFindAndModify', false);
done();
});
after(done => {
mongoose.disconnect();
done();
});
Ну, я нашел его. Это - ошибка в платформе, и работать вокруг этого Вы добавляете вызов к UpdateLayout. Используя оператор может быть изменен на следующее для обеспечения фиксации;
Using XPSItem As New Windows.Xps.Packaging.XpsDocument(PathToTestXps, System.IO.FileAccess.Read)
Dim FixedDocSequence As Windows.Documents.FixedDocumentSequence
Dim DocPager As Windows.Documents.DocumentPaginator
FixedDocSequence = XPSItem.GetFixedDocumentSequence
DocPager = FixedDocSequence.DocumentPaginator
DocPager.ComputePageCount()
' This is the fix, each page must be laid out otherwise resources are never released.'
For PageIndex As Integer = 0 To DocPager.PageCount - 1
DirectCast(DocPager.GetPage(PageIndex).Visual, Windows.Documents.FixedPage).UpdateLayout()
Next
FixedDocSequence = Nothing
End Using
Я не могу дать Вам авторитетный совет, но у меня действительно было несколько мыслей:
Заглянул в это сегодня. Интересно, что когда я изучал вещи с помощью Reflector.NET, я обнаружил, что исправление связано с вызовом UpdateLayout () в ContextLayoutManager, связанном с текущим Dispatcher.(читайте: нет необходимости перебирать страницы).
По сути, код, который нужно вызвать (используйте здесь отражение):
ContextLayoutManager.From(Dispatcher.CurrentDispatcher).UpdateLayout();
Определенно ощущается как небольшая оплошность со стороны MS.
Для ленивых или незнакомых этот код работает:
Assembly presentationCoreAssembly = Assembly.GetAssembly(typeof (System.Windows.UIElement));
Type contextLayoutManagerType = presentationCoreAssembly.GetType("System.Windows.ContextLayoutManager");
object contextLayoutManager = contextLayoutManagerType.InvokeMember("From",
BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.NonPublic, null, null, new[] {dispatcher});
contextLayoutManagerType.InvokeMember("UpdateLayout", BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance, null, contextLayoutManager, null);
FxCop будет жаловаться, но, возможно, это будет исправлено в следующей версии фреймворка. Код, опубликованный автором, кажется «более безопасным», если вы предпочитаете не использовать отражение.
HTH!