TeamCity 测试图形输出的差异

问题描述 投票:0回答:0

CI (TeamCity) 中的测试实例化一个 UserControl 并将其内容呈现为 png

[Test, STAThread]
public void TrySavingWinFormControlAsPng()
{
    // tried with and without this two lines, no differences
    //System.Windows.Forms.Application.EnableVisualStyles();
    //System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);

    var control = new MyTestUserControl();
    
    using (var bmp = new System.Drawing.Bitmap(300, 200))
    {
        control.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
        bmp.Save(tempFileName);
    }
}

我遇到的问题是在本地和测试服务器上我得到不同的图像。在测试机器(Windows 10 企业版 21H2)上,控件看起来像“3d”,就好像没有应用平面 Windows 主题一样。

本地:

在 TeamCity 上

我考虑过在那些测试服务器上关闭某些服务,例如“桌面窗口管理器”,但我认为在 win10 中它是强制性的,它甚至不再出现在服务列表中。 我想到的另一件事是 TeamCity 测试确实作为服务运行。事实上,当测试在 TC 上远程运行时,

System.Environment.UserInteractive
是错误的。

有什么明显的东西我忽略了吗?

c# winforms teamcity
© www.soinside.com 2019 - 2024. All rights reserved.