小编Cra*_*ett的帖子

断言真与断言不是无

我正在与一位同事进行一些自动化测试,我们想知道我们的方法是否存在任何差异。

我们有一个返回 HTTP 响应对象的方法。有时,它可能返回 None,但通常是一个对象。

原代码是:

self.assertTrue(response)
Run Code Online (Sandbox Code Playgroud)

但我觉得它可能更具可读性:

assert response is not None
Run Code Online (Sandbox Code Playgroud)

我研究了关于真实性的文档中的差异,所以我知道会返回 true 的东西不一定是 None 。但是,在大多数情况下,两者都会起作用。并且许多现有的测试都断言为真,而不是断言没有。

为什么一种技术会比另一种更好?

python automated-tests

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

Nuget - 在子文件夹中的内容上设置CopyToOutputDirectory

我是Nuget的新手,我正在试图上传我的第一个包.到目前为止,一切都进展顺利.但是,我正在尝试在一些我想要存在于Lib子文件夹中的内容文件上设置CopyToOutputDirectory.我的目录如下所示:

?   Readme.txt
?   MyPackage.nupkg
?   MyPackage.nuspec
?
????content
?   ????Lib
?           native1.dll
?           native2.dll
?           native3.dll
?           native4.dll
?
????lib
?       MyActualAssembly.dll
?
????tools
        Install.ps1
Run Code Online (Sandbox Code Playgroud)

通过阅读这个StackOverflow问题和一些额外的阅读,我把一个看起来像这样的Install.ps1放在一起:

param($installPath, $toolsPath, $package, $project)

$project.ProjectItems.Item("Lib\native1.dll").Properties.Item("CopyToOutputDirectory").Value = 1
$project.ProjectItems.Item("Lib\native2.dll").Properties.Item("CopyToOutputDirectory").Value = 1
$project.ProjectItems.Item("Lib\native3.dll").Properties.Item("CopyToOutputDirectory").Value = 1
$project.ProjectItems.Item("Lib\native4.dll").Properties.Item("CopyToOutputDirectory").Value = 1
Run Code Online (Sandbox Code Playgroud)

我对各种操作进行了排列,看看它是否有助于我理解这个问题,但它实际上与答案相同.

从我的测试来看,Install.ps1在查找文件本身时遇到了一些麻烦.在安装包后运行时,我收到以下错误:

Exception calling "Item" with "1" argument(s): "The parameter is incorrect. (Exception from HRESULT: 0x80070057 
(E_INVALIDARG))"
At C:\...\tools\Install.ps1:3 char:1
+ $project.ProjectItems.Item("Lib\native1.dll").Properties.Item("CopyToOutputDirect ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : …
Run Code Online (Sandbox Code Playgroud)

powershell nuget

7
推荐指数
1
解决办法
2150
查看次数

从 cookie 社交登录转向令牌社交登录

这是我在程序员 StackExchange 上发布的一个问题的后续,我没有得到答案。也许它放置不当,应该在这里。但不管怎样,我又折腾了一些,切碎并改变了一些东西,现在我更接近了,但需要更多的帮助。

我正在尝试使用 Owin 和各种 Katana 库来实现 Facebook 登录(以及后来的其他登录)。我只做登录,没有注册,没有 ASP.NET DB。我没有使用 ASP.NET Identity 的东西(就像使用带有个人帐户的默认 ASP.NET 项目一样),这是 90% 的教程告诉您要做的。对不起,如果我听起来很沮丧。我设法找到了其他人,他们设法打破了模式并在没有身份古宾的情况下实施了 OWIN,并且我已经对此进行了大量阅读。我想我只需要帮助连接最后几个点。

这是针对后端带有 Web API 的 SPA。所以我自然倾向于不记名 OAuth 令牌。

我已经设法使事情以 cookie ish 的方式工作,使用此博客文章中的一些指导。我模仿了它的方法,现在我可以使用 Facebook 登录,并且当回调操作被触发时,User.Identity 成功设置为我的 Facebook 声明身份。

问题是,对于我的 Web API,我希望调用 auth/facebook,或通过其他方式,将我的身份的 OAuth 不记名令牌提供给用户以用于将来的请求,而不是 cookie。

我最好以某种方式从这个 cookie 转到令牌吗?如何?或者有更好的方法吗?

这是我的 Startup.cs 代码

public class Startup
{
    // public static OAuthBearerAuthenticationOptions OAuthBearerOptions { get; private set; }

    public void Configuration(IAppBuilder app)
    {
        ConfigureOAuth(app);

        // other standard stuff (I think)
    } …
Run Code Online (Sandbox Code Playgroud)

asp.net owin

5
推荐指数
0
解决办法
188
查看次数

无窗口.NET应用程序中的全局热键

我已经阅读过关于这个问题的类似问题,包括解决C#中全局热键处理的最佳方法?使用C#设置全局热键.我还调查了NuGet包全球热键,它似乎还处于起步阶段.

这里的问题是,它们中的大多数似乎是为Winforms设计的,或者可能在WPF中运行.他们使用的P/Invoke似乎需要一个窗口句柄.我想在这里有一个无风的应用程序,即在没有主窗体或窗口的情况下运行,除非按下某个键组合,所以实际上可能没有句柄.

那么,如果P/Invoke的Window句柄传递一个厚脸皮的0会导致它不寻找处理按键的窗口吗?或者这是我最好的选择,使用一个看不见的不可聚焦的窗口?

为了添加一些上下文,我正在制作一个无窗口的应用程序与TTS一起使用,提供控制反馈,我的目标受众是盲人和视障用户.有时候,必须输入内容,所以我希望能够在必要时启动表单,但是在大多数情况下,我希望没有窗口会让事情变得混乱.

一些示例代码(我无法验证这是否可以正常工作).

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    ScreenReader.sapiEnable(true);
    ScreenReader.SayString("Launching application...");
    // bind hotkeys here
    Application.Run();
}

// called when the right keyboard shortcut is pressed
static void ExitApp()
{
    ScreenReader.SayString("Exiting program");
    Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)

感谢您提供的任何帮助.

.net keyboard-shortcuts

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