小编Yil*_* Li的帖子

xUnit IClassFixture 构造函数被多次调用

我正在使用 xUnit 进行集成测试。为此,我使用 localdb 实例。话虽这么说,我想使用一些预定义的数据启动一次数据库实例,当然我希望所有测试用例都保持这一点。我可以单独编写每个测试用例,这样它们就不会相互冲突,但我只想创建一次数据库实例。

在每次测试之前都遵循 xunit 构造函数的运行,代码如下所示

//similar to base class
public class DatabaseFixture : IDisposable
{
    public SqlConnection Db { get; private set; }
    public DatabaseFixture()
    {
        InitialDB();
    }
    public InitialDB()
    {
        CreateDBInstance();
        CreateDBSchemas();
        InitDBMetaData();
    }

    public void Dispose()
    {
        // clean up test data from the database
        CleanUpDB();
    }
}

//Class where you want to use shared class instance
public class MyDatabaseTests : IClassFixture<DatabaseFixture>
{
    DatabaseFixture dbFixture;
    public MyDatabaseTests(DatabaseFixture fixture)
    {
        this.dbFixture = fixture;
    } …
Run Code Online (Sandbox Code Playgroud)

dbunit integration-testing xunit

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

物化视图的创建速度很快,但刷新需要花费数小时

我正在使用实例化视图,由于某些表来自没有实例化视图日志的远程数据库,因此无法将其设置为快速刷新。

当我创建实例化视图时,它花费了大约20 30秒。但是,当我尝试刷新它时。花了2到3个小时以上。记录总数只有460,000左右。

有谁知道它会如何发生吗?

谢谢

代码如下

create materialized view MY_MV1
refresh force on demand
start with to_date('20-02-2013 22:00:00', 'dd-mm-yyyy hh24:mi:ss') next trunc(sysdate)+1+22/24 
as
( SELECT Nvl(Cr.Sol_Chng_Num, ' ') AS Change_Request_Nbr,
       Nvl(Sr.Sr_Num, ' ') AS Service_Request_Nbr,
       Nvl(Sr.w_Org_Id, 0) AS Org_Id,
       Fcr.rowid,
       Cr.rowid,
       Bsr.rowid,
       Sr.rowid,
       SYSDATE
  FROM Dwadmin.f_S_Change@DateWarehouse.World Fcr
 INNER JOIN Dwadmin.d_S_Change@DateWarehouse.World Cr
    ON Fcr.w_Sol_Chng_Id = Cr.w_Sol_Chng_Id
 INNER JOIN Dwadmin.b_S_Change_Obl@DateWarehouse.World Bsr
    ON Fcr.w_Sol_Chng_Id = Bsr.w_Sol_Chng_Id
 INNER JOIN Dwadmin.d_S_Rec@DateWarehouse.World Sr
    ON Sr.w_Srv_Rec_Id = Bsr.w_Srv_Rec_Id
 WHERE Sr.Sr_Num <> 'NS'
);
Run Code Online (Sandbox Code Playgroud)

我尝试使用dbms_mview.refresh('MY_MATVIEW','C',atomic_refresh => false),但仍然需要141分钟才能运行...而没有atomic_refresh => …

oracle plsql materialized-views oracle10g

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