我有一个ASP.NET MVC/Web API后端,我已经为我的Phonegap应用程序实现了表单身份验证.通过jQuery Ajax调用发送用户凭据来执行登录,如下所示:
$.ajax({
type: "POST",
url: "/api/authentication/login",
data: JSON.stringify({ Username: username, Password: password }),
contentType: "application/json; charset=utf-8",
dataType: "TEXT",
statusCode: {
200: function (response, status, xhr) {
// successfully authenticated
Backbone.history.navigate("/", { trigger: true });
}
}
});
Run Code Online (Sandbox Code Playgroud)
后端登录方法如下所示:
[ActionName("login")]
[AllowAnonymous]
public LoginResult Login(LoginCredentials credentials)
{
// doing all kinds of things here
// if valid credentials
FormsAuthentication.SetAuthCookie(loginID, true);
return loginResult;
}
Run Code Online (Sandbox Code Playgroud)
我在我的Web.config中有这个:
<authentication mode="Forms">
<forms
name=".ASPXAUTH"
loginUrl="/login"
defaultUrl="/home"
protection="All"
slidingExpiration="true"
timeout="525600"
cookieless="UseCookies"
enableCrossAppRedirects="false"
requireSSL="true"
>
</forms>
</authentication> …
Run Code Online (Sandbox Code Playgroud) 这是我对Stack Overflow的第一个问题,Jasmine对我来说相当新,所以我希望我在这里做得很好.
我有一个Jasmine测试,我尝试将页面的滚动位置设置为某个值.实际的代码非常复杂,但我设法做了一个更简单的失败测试示例:
it("should set scrollTop to equal 100", function () {
setFixtures("<div id='page' style='height: 1000px;'>Page content</div>");
spyOn($.fn, "scrollTop");
$("#page").scrollTop(100);
expect($.fn.scrollTop).toHaveBeenCalledWith(100); // this test passes
expect($("#page").scrollTop()).toEqual(100);
});
Run Code Online (Sandbox Code Playgroud)
结果:预期0到100.
我将scrollTop设置为100并期望它就在下一行.该测试如何失败?
如果重要的话,我使用带有requirejs的Jasmine 1.3.1和jasmine-jquery作为扩展.