У нас на фирме встал вопрос покрытия C# кода функциональными тестами на python (на Python, а не на самом С# — потому, что уже давно используем python для тестирования ядра, написанного на C++). Погуглив на тему, выяснили, что единственное решения — это использовать IronPython. Проблема в том, что он только для 2.7, а требуется python 3k. Может быть кто-то сталкивался и знает решение?
Re: Python 3k + C# dll
От:
Аноним
Дата:
30.11.12 14:09
Оценка:
Здравствуйте, moto, Вы писали:
M>Всем доброго времени суток!
M>У нас на фирме встал вопрос покрытия C# кода функциональными тестами на python (на Python, а не на самом С# — потому, что уже давно используем python для тестирования ядра, написанного на C++). Погуглив на тему, выяснили, что единственное решения — это использовать IronPython. Проблема в том, что он только для 2.7, а требуется python 3k. Может быть кто-то сталкивался и знает решение?
Здравствуйте, moto, Вы писали:
M>У нас на фирме встал вопрос покрытия C# кода функциональными тестами на python (на Python, а не на самом С# — потому, что уже давно используем python для тестирования ядра, написанного на C++). Погуглив на тему, выяснили, что единственное решения — это использовать IronPython. Проблема в том, что он только для 2.7, а требуется python 3k. Может быть кто-то сталкивался и знает решение?
можно использовать ctypes.
вообще как-то непонятно почему вы хотите именно питон и именно 3x.
тесты можно и на C# писать (и даже на С++ для С++)
Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, moto, Вы писали:
M>>У нас на фирме встал вопрос покрытия C# кода функциональными тестами на python (на Python, а не на самом С# — потому, что уже давно используем python для тестирования ядра, написанного на C++). Погуглив на тему, выяснили, что единственное решения — это использовать IronPython. Проблема в том, что он только для 2.7, а требуется python 3k. Может быть кто-то сталкивался и знает решение?
A>можно использовать ctypes.
A>вообще как-то непонятно почему вы хотите именно питон и именно 3x. A>тесты можно и на C# писать (и даже на С++ для С++)
ctypes пробовали, но обломились. ctypes не видит даже namespace. Вот пример:
using System;
namespace CSharpTypes.SimpleTypes
{
public class SimpleTypes
{
public struct Struct
{
public string String { get; set; }
public DateTime Date { get; set; }
}
}
}
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, moto, Вы писали:
M>>Всем доброго времени суток!
M>>У нас на фирме встал вопрос покрытия C# кода функциональными тестами на python (на Python, а не на самом С# — потому, что уже давно используем python для тестирования ядра, написанного на C++). Погуглив на тему, выяснили, что единственное решения — это использовать IronPython. Проблема в том, что он только для 2.7, а требуется python 3k. Может быть кто-то сталкивался и знает решение?
А>Может, так попробовать.
Спасибо, попробую по-экспериментировать. Волнует вопрос сложных типов, например коллекций.
Здравствуйте, Abyx, Вы писали:
A>вообще как-то непонятно почему вы хотите именно питон и именно 3x. A>тесты можно и на C# писать (и даже на С++ для С++)
Хотим python, т.к. целая команда тестировщиков пишет на нем тесты для С++. И не хотелось бы заставлять их учить C# или тем более нанимать вторую группу тестировщиков.
Кроме того тесты функциональные, направленные на бизнес логику и на python гораздо быстрее получается писать.
Здравствуйте, moto, Вы писали:
M>Здравствуйте, Abyx, Вы писали:
A>>вообще как-то непонятно почему вы хотите именно питон и именно 3x. A>>тесты можно и на C# писать (и даже на С++ для С++)
M>Хотим python, т.к. целая команда тестировщиков пишет на нем тесты для С++. И не хотелось бы заставлять их учить C# или тем более нанимать вторую группу тестировщиков. M>Кроме того тесты функциональные, направленные на бизнес логику и на python гораздо быстрее получается писать.
питон 2.7 не так уж и отличается от 3.x
хотя при использовании IronPython все равно надо будет использовать типы .NET
Здравствуйте, moto, Вы писали:
M>У нас на фирме встал вопрос покрытия C# кода функциональными тестами на python (на Python, а не на самом С# — потому, что уже давно используем python для тестирования ядра, написанного на C++). Погуглив на тему, выяснили, что единственное решения — это использовать IronPython.
А почему единственное? Например, с ходу нагуглился Python for .NET — разве он не годится? Чем? Вот ещё сравнение.