Опитвам се да накарам някои тестове за интеграция, свързани с бази данни, да се изпълняват на тестов агент MSTest. Използваме c# и oracle db с devart dotconnect.
Тъй като трябва да използваме индиректен режим, инсталирах devart и клиент на oracle на тестовия агент.
Тестовете протичат гладко, когато ги изпълнявам на моята локална машина. Но когато се изпълнява на тестовия агент (отдалечено), той не може да намери oci.dll на клиента, което е зависимост някъде:
System.IO.FileNotFoundException: Не може да се зареди клиентската библиотека на Oracle oci.dll от дома ..
Сега нямам представа защо се случва това. Вече проверих променливите на средата PATH, но изглеждат добре. Някакви идеи защо това работи на моята машина, но не и когато е разгърнато в тестовия агент?
редактиране: добавено проследяване на стека в devart:
Devart.Data.Oracle.OracleHome.get_ClientVersion()
Devart.Data.Oracle.aw.a(Boolean A_0, Boolean A_1, OracleHome A_2, Boolean A_3)
Devart.Data.Oracle.OracleInternalConnection..ctor(aa connectionOptions, OracleInternalConnection proxyConnection)
Devart.Data.Oracle.cs.a(k A_0, Object A_1, DbConnectionBase A_2)
Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, k A_1, DbConnectionBase A_2)
Devart.Common.DbConnectionPool.a(DbConnectionBase A_0)
Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection)
Devart.Common.DbConnectionFactory.a(DbConnectionBase A_0)
Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)
Devart.Common.DbConnectionBase.Open()
Devart.Data.Oracle.OracleConnection.Open()