如何使用另一种测试方法的作业来制作测试方法

本文关键字:测试方法 作业 何使用 另一种 | 更新日期: 2023-09-27 18:06:09

我是这样做的:

private String connection = "";
[TestMethod]
public void Connect()
{
    Encrypter encrypter = new Encrypter("64bit");
    String keyword = encrypter.Decrypt("5465465465==");
    // Check if crypter is changed
    Assert.AreEqual(true, encrypter.SetCrypter("AES"));
    this.connection = encrypter.Decrypt
        ("65465465466", keyword);
}
[TestMethod]
public void NhibernateFluentTest()
{
    NHibernate.ISessionFactory session =
        Fluently.Configure().Database(PostgreSQLConfiguration.Standard.ConnectionString(this.connection)).BuildSessionFactory();
    Assert.IsNotNull(session);
}

"Connect"测试方法正在改变连接字符串,这必须在"NhibernateFluentTest"测试方法中使用,但它只是单独的方法,第二个不能看到第一个。如何解决这个问题?

如何使用另一种测试方法的作业来制作测试方法

要设置在测试期间可以安全重用的公共状态,请使用适当的属性创建setup方法。在MSTest中,我相信它是[TestInitialize],但您可以找到它。有一个类似的方法来拆除状态。这些方法将在每次测试之前和之后运行。

测试不应该依赖于其他测试。如果一个测试的失败或成功取决于另一个测试是否已经执行,那么将很难依赖测试结果。

我建议您重构代码,以便有一个方法为两个测试准备所需的字符串,并从它们调用该方法。