日食与Netbeans 和其他 IDE 可能有一个“生成 getter 和 setter”的快捷方式。
好吧,看起来 Sinon.JS 就是您要找的。我以前从未使用过它,但我确实回答过你的问题。
您可以将全局函数alert(实际上是window.alert)替换为一个临时函数,该函数将记录本来要显示的消息。
在 javascript (window.alert = function(msg) { savingMsg = msg; })
中很容易做到。所以你可以在测试中做到这一点。
复杂性仅来自于运行测试后的清理工作。这就是你需要 Sinon.JS 的地方,它可以 与 QUnit 集成。您将需要此集成脚本。
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/qunit/git/qunit.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://code.jquery.com/qunit/git/qunit.js"></script>
<script type="text/javascript" src="sinon-1.1.1.js"></script>
<script type="text/javascript" src="sinon-qunit-0.8.0.js"></script>
<script>
function to_test() {
window.alert("I'm displaying an alert");
return 42;
}
$(document).ready(function(){
module("Module A");
test("first skip alert test ", function() {
var stub = this.stub(window, "alert", function(msg) { return false; } );
equals(42, to_test(), "to_test() should return 42" );
equals(1, stub.callCount, "to_test() should have invoked alert one time");
equals("I'm displaying an alert",stub.getCall(0).args[0], "to_test() should have displayed an alert" );
});
});
</script>
</head>
<body>
<h1 id="qunit-header">QUnit example</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>
</body>
</html>
与其他答案一样,这取决于服务器端代码实际提供的内容。
您也许能够输出一些 javascript 来定位有问题的控件,并重置其内容,可能使用类似这样的内容...
document.getElementById('myTagId').innerHTML = 'Downloads';
但是,在不知道 HTML 是什么的情况下,我无法为您提供更多帮助。
不是直接答案,但是...
我认为最好调用 .bat
文件,而不是使用许多命令行选项直接调用 java。这样您就不需要更改 Python 程序来添加一些其他选项(例如 -Xms2048m
或 -Dfile.encoding=utf8
)。
这样的 .bat 文件也更容易调试。
这是我使用的方式:
$float = 4.3;
$dec = ltrim(($float - floor($float)),"0."); // result .3
Imports Microsoft.Office.Interop
'On the Project menu, click Add Reference.
'On the COM tab, Double click -> Microsoft Outlook xx.0 Object Library
Module Module1
Sub Main()
' Create an Outlook application.
Dim oApp As Outlook._Application
oApp = New Outlook.Application()
' Create a new MailItem.
Dim oMsg As Outlook._MailItem
oMsg = CType(oApp.CreateItem(Outlook.OlItemType.olMailItem), Outlook._MailItem)
oMsg.Subject = "Send Attachment Using OOM in Visual Basic .NET"
oMsg.Body = "Hello World" & vbCr & vbCr
' TODO: Replace with a valid e-mail address.
oMsg.To = "[email protected]"
' Add an attachment
' TODO: Replace with a valid attachment path.
Dim sSource As String = "C:\Temp\Hello.txt"
' TODO: Replace with attachment name
Dim sDisplayName As String = "Hello.txt"
Dim sBodyLen As Integer = oMsg.Body.Length
Dim oAttachs As Outlook.Attachments = oMsg.Attachments
Dim oAttach As Outlook.Attachment
oAttach = oAttachs.Add(sSource, , sBodyLen + 1, sDisplayName)
' Send
oMsg.Send()
' Clean up
oApp = Nothing
oMsg = Nothing
oAttach = Nothing
oAttachs = Nothing
End Sub
End Module
我在这里可以看到一些问题。
在绘制图像时,您应该使用 printAll 而不是 Paint。
表格的高度是在调用 pack 方法时设置的,但这是在填充表格之前。如果您在生成表后立即创建图像,则可能无法设置大小。您应该在打包框架之前填充表格 - 这应该确保在需要时可以使用尺寸。
编辑:在代码更改之后,我建议删除滚动窗格(如 kleopatra 建议的那样),然后使用 printAll。 Paint 不应用于图像,因为它可以使用双缓冲。要查看标题,您需要使用 kleopatra 提供的代码设置其大小。标头的大小与表无关,因此在表上调用 setSize 不会更改标头。
我认为您可以将User
分配给Role
,然后根据他们选择的角色返回功能。
希望这有帮助。
在控制器中你可以有类似的东西:
public ActionResult Register(string role)
{
Roles.AddUserToRole(User, "role");
if (User.IsInRole("Client"))
return View("ClientRegistration");
if ( User.IsInRole("Vendor"))
return View("VendorRegistration");
}
我将注释来源,以便您实际上可以学到一些东西:
保存对卡片数组的引用。
var cards = $('#cards div');
第一张翻开的牌将位于我们的数组之外。
var flippedIndex = cards.length;
接下来,我们创建一个数组(与 cards
数组长度相同),其中包含有关翻转哪些卡片的信息。
var flipped = new Array(flippedIndex);
flip
函数可以对卡片进行动画处理并更改卡片的类属性。
var flip = function (card, toggle) {
card.slideUp(function () {
card.toggleClass('back', toggle)
.slideDown();
});
};
现在我们设置点击监听器。
cards.click(function () {
var card = $(this),
.index()
(http://api.jquery.com/index/) 给出卡片从左到右的位置。
index = card.index();
查找我们的 flipped
数组以查看卡片是否已翻转,并检查它是否是最后一张翻转的卡片。
if (!flipped[index] && index + 1 === flippedIndex) {
flippedIndex = index;
在这里我们翻转卡片。
flip(card, (flipped[index] = true));
} else if (flipped[index] && index === flippedIndex) {
flippedIndex++;
在这里我们将其展开。
flip(card, (flipped[index] = false));
}
});
这可能已经晚了,但我刚刚在我的 asp.net 网站上运行了嵌入式 mailchimp 代码。
我删除了表单标签,并将其输入按钮替换为:
<asp:Button runat="server" PostBackUrl="http://[YOUR URL]/subscribe/post?u=64d2cf63fb98f334f406892db&id=f3181fb3be" Text="Subscribe"/>
它非常适合我。 (我应该注意我使用的是嵌入代码的非 JavaScript 版本)。
我知道这是一个迟到的答案,但我刚刚遇到了类似的问题。还有另一个使用 Outlook.Application
的解决方案!
我在寻找解决方案时偶然发现了它,这里完全归功于:
http://www.tek-tips.com/faqs.cfm?fid=第 4334
章 以下:
Sub Mail_workbook_Outlook()
'Working in Excel 2000-2016
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = "[email protected]"
.CC = ""
.BCC = ""
.Subject = "This is an automated email!"
.Body = "Howdy there! Here, have an automated mail!"
.Attachments.Add ActiveWorkbook.FullName
.Display 'Display instead of .send
SendKeys "%{s}", True 'send the email without prompts
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End
End Sub
如果您使用的是 SQL 数据库,您是否考虑过从数据库自动生成数据实体模型 (.edmx)?然后您可以使用那里生成的所有类并避免整个混乱。
我认为您无法编辑此对话框选项,但您可以在用户选择文件后验证该文件。
要编辑对话框,我记得您可以通过 Flash 或 Silverlight 上传器(例如 swfUpload)来完成此操作。
I don't think you can edit this dialog options, but you can validate the file after the user select it.
tO edit the dialog, I remember that you can do that by a flash or Silverlight uploaders, such as swfUpload.
在 HTML 文件打开对话框中过滤文件