小编Mat*_*ius的帖子

如何测试方法是否只被调用一次而不是第二次调用Jasmine?

我正在测试应该调用方法一次的机制并阻止任何后续调用jasmine,我可以通过附加断点看到方法未被第二次调用但是jasmine测试失败.我认为它与spy不被设计用于多次检查有关.
什么是适当的解决方案?

正在测试的JSfiddle of Code我无法弄清楚如何正确地进行茉莉花测试jsfiddle(我使用的Jasmine版本是1.3.1而测试模板是1.2.0).

测试看起来像这样:

 it("Invoking OnPreQuery will add event listener for OnTheMoveViewPreLoad event. Triggering OnTheMoveViewPreLoad twice will call getChildrenForMasterRecordList only first time", function () {
            AddTreeSettingsObjectToBC({ bc: bc, Tree: { IncludeChildren: true} });
            ComposeMockPageObjWithObservableFieldsWithChildren();
            var preQuerySpy = spyOnEvent(onTheMove.PageDataRoles, 'OnPreQuery');
            $(onTheMove.PageDataRoles).trigger('OnPreQuery', { knockoutContextName: 'bc' });
            expect('OnPreQuery').toHaveBeenTriggeredOn(onTheMove.PageDataRoles);
            expect(preQuerySpy).toHaveBeenTriggered();
            var getChildrenForMasterRecordListSpy = spyOn(window, 'getChildrenForMasterRecordList');
            $(onTheMove.PageDataRoles).trigger('OnTheMoveViewPreLoad', { knockoutContextName: 'bc' });
            expect(getChildrenForMasterRecordListSpy).toHaveBeenCalled();
            $(onTheMove.PageDataRoles).trigger('OnTheMoveViewPreLoad', { knockoutContextName: 'bc' });
            expect(getChildrenForMasterRecordListSpy).not.toHaveBeenCalled();
        });
Run Code Online (Sandbox Code Playgroud)

正在测试的代码:HTML

<div data-role="page"></div>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

var onTheMove = function(){};
$.extend(onTheMove,{
    NullValue : …
Run Code Online (Sandbox Code Playgroud)

javascript testing jquery jasmine knockout.js

19
推荐指数
2
解决办法
2万
查看次数

如何使用FluentMigrator删除列?

我使用.Net4.5C#,我工作的数据库迁移的一个使用FluentMigrator.我可以使用更改表和添加列

Alter.Table("Items").InSchema("Pricing")
            .AddColumn("CanBe").AsBoolean().NotNullable()
Run Code Online (Sandbox Code Playgroud)

但是我需要删除一些现有的列,并且DeleteColumn也不DropColumnIAlterTableAddColumnOrAlterColumnOrSchemaSyntax接口上也没有方法.

如何使用FluentMigrator删除列?

c# migration fluent-migrator .net-4.5

19
推荐指数
1
解决办法
6422
查看次数

获取错误 JAR_SIG_NO_MANIFEST:推送 apk 文件时缺少 META-INF/MANIFEST.MF

我是一名新开发人员,我构建了一个 Android 应用程序并推送到 google play 并在推送 APK 文件时出现错误。需要 5 天,但无法修复此错误。我使用 Visual Studio 2017 (xamarin)。

错误:

您上传的 APK 签名无效(了解有关签名的更多信息)。来自 apksigner 的错误:错误:JAR_SIG_NO_MANIFEST:缺少 META-INF/MANIFEST.MF

android apk xamarin

17
推荐指数
2
解决办法
8847
查看次数

如何通过保持webDriver激活来关闭整个浏览器窗口?

在我的批处理执行中,为第一个场景打开了多个具有多个选项卡的浏览器.我想在开始第二个场景之前关闭所有这些浏览器.

Driver.close()只是关闭浏览器的一个选项卡. Driver.quit()正在关闭所有浏览器并结束WebDriver会话.所以,我无法运行批处理执行.请为此提供解决方案.

selenium webdriver selenium-webdriver

16
推荐指数
2
解决办法
8万
查看次数

Entity Framework entity is not in DataSpace.OSpace (_workspace.GetItemCollection(DataSpace.OSpace)) but is in DataSpace.CSpace

I have been mucking around with XMLs for entity Framework. I tried to create a type of entity that could have properties injected at runtime, First I created DynamicEntity object that is dynamic

public class DynamicEntity : DynamicObject
{
    Dictionary<string, object> dynamicMembers = new Dictionary<string, object>();

    public override bool TrySetMember(SetMemberBinder binder, object value)
    {
        dynamicMembers[binder.Name] = value;
        return true;
    }

    public override bool TryGetMember(GetMemberBinder binder, out object result)
    {
        if (dynamicMembers.TryGetValue(binder.Name, out result))
        {
            return dynamicMembers.TryGetValue(binder.Name, out result);
        } …
Run Code Online (Sandbox Code Playgroud)

c# workspace entity-framework database-metadata .net-4.5

15
推荐指数
1
解决办法
547
查看次数

jqgrid错误选择编辑框中的下拉选项值

我正在使用表单编辑.表单中有两个选择框.一个选择框是国家,另一个选择框是国家.状态选择框取决于所选的国家/地区,并将动态填充.例如:

国家:

美国(期权价值= 1)
英国(期权价值= 2)

美国州:

阿拉巴马州(期权价值= 1)
加利福尼亚州(期权价值= 2)
佛罗里达州(期权价值= 3)
夏威夷(期权价值= 4)

英国国家:

伦敦(期权价值= 5)
牛津(期权价值= 6)

正如你所看到的状态的id上述英国与5.开始当我修改其中载有记录Country id=2 (UK)State id=6 (Oxford),编辑表格将正确地显示-国家是英国和国家是牛津大学.但是如果你下拉状态选择框,选项文本是正确的(它显示伦敦牛津),但选项值将从0开始.应该正确的是选项值应从5开始.

如果您选择并将国家/地区下拉框更改为美国,然后再次更改回英国,则选项值将正确填充(从5开始).

我的问题是,当编辑表单加载时,如何根据编辑框中的国家/地区填充具有正确选项值的州的选择框?

javascript jquery edit jqgrid

14
推荐指数
1
解决办法
5万
查看次数

在Dispatcher上调用时,WPF应用程序处于死锁状态

我们偶尔遇到应用程序死锁的情况,并且调度程序似乎与尝试在调度程序上调用的后台线程发生死锁.我没有看到任何一个线程都有任何被锁定的共享资源.后台线程遇到异常,它最终在app域未处理的异常委托中,因为没有人拿起这个异常.这会调用我们的异常处理程序,其任务是确保将异常对话框放到调度程序上.

有人可以建议我可以找出导致死锁的原因吗?

调度程序堆栈遵循并且看起来不同寻常:

*0. System.Windows.Threading.DispatcherSynchronizationContext.Wait (source line information unavailable)

 1. System.Threading.SynchronizationContext.InvokeWaitMethodHelper (source line information unavailable)
 2. Xceed.Wpf.DataGrid.DeferredOperationManager.Process (source line information unavailable)
 3. Xceed.Wpf.DataGrid.DeferredOperationManager.Dispatched_Process (source line information unavailable)
 4. System.Windows.Threading.ExceptionWrapper.InternalRealCall (source line information unavailable)
 5. System.Windows.Threading.ExceptionWrapper.TryCatchWhen (source line information unavailable)
 6. System.Windows.Threading.Dispatcher.WrappedInvoke (source line information unavailable)
 7. System.Windows.Threading.DispatcherOperation.InvokeImpl (source line information unavailable)
 8. System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext (source line information unavailable)
 9. System.Threading.ExecutionContext.runTryCode (source line information unavailable)
 10. System.Threading.ExecutionContext.RunInternal (source line information unavailable)
 11. System.Threading.ExecutionContext.Run (source line information unavailable)
 12. System.Windows.Threading.DispatcherOperation.Invoke (source line information …
Run Code Online (Sandbox Code Playgroud)

wpf deadlock dispatcher

14
推荐指数
1
解决办法
4749
查看次数

Selenium ChromeDriver开关标签

当我单击测试中的链接时,它会打开一个新选项卡.我希望ChromeDriver专注于该标签.我尝试使用以下代码让ChromeDriver使用ctrl + tab快捷方式更改tabas:

Actions builder = new Actions(driver);
builder.KeyDown(Keys.Control).KeyDown(Keys.Tab).KeyUp(Keys.Tab).KeyUp(Keys.Control);//switch tabs
IAction switchTabs = builder.Build();
switchTabs.Perform();
Run Code Online (Sandbox Code Playgroud)

但是这引发了以下异常:

ekmLiveChat.tests.UITests.EndToEndTest.EndToEnd:
System.ArgumentException : key must be a modifier key (Keys.Shift, Keys.Control, or Keys.Alt)
Parameter name: key
Run Code Online (Sandbox Code Playgroud)

有没有办法使用ChromeDriver切换标签?

c# selenium selenium-chromedriver

14
推荐指数
3
解决办法
3万
查看次数

最完整的ORM支持LINQ?

我正在寻找一个提供完整或接近完整的LINQ支持的ORM.

LINQ to SQL
- 支持LINQ内部的所有内容(.Contains,Math.Log等)
- 如果不创建新的datacontext,就无法加载关系属性

ADO.NET实体框架
- 可怕的LINQ支持(许多缺少的功能).
- 出色的映射功能 - 可以使用ObjectQuery <>上的.Include方法按需加载

LightSpeed
- 很棒的LINQ支持缺少一些功能(.Contains在where中)
- 生成的一些SQL非常低效.

这些似乎都不完美,我真的希望我可以从每个中获取点点滴滴.我个人非常喜欢ADO.NET EF,除了它缺少的功能使它使用起来很令人沮丧.

我知道有些人上下赞美NHibernate而且我没有敲它,但我今天花了很多时间尝试它并且没关系但是它的LINQ支持并不是那么好.

sql orm linq-to-sql

13
推荐指数
2
解决办法
2594
查看次数

如何检查图像是否来自缓存

如何检查图像是来自缓存还是来自服务器.由于我的主页包含45张图片.当我按下时F5,想要知道图像是来自缓存还是来自服务器.

我补充说 <%@ OutputCache Duration='120' Location='Client' VaryByParam='none' %>

browser caching

13
推荐指数
1
解决办法
2万
查看次数