Je reçois error C3095: 'Xunit::Extensions::InlineDataAttribute': attribute cannot be repeated
en code C++/CLI mais pas en C#.L'attribut ne peut pas être répété en C++/CLI mais OK en C#?
xUnit.net ressemble à la réponse à mes prières - un cadre de test unitaire moderne avec GUI travaillant avec C++/CLI. Cependant, l'utilisation de leur approche pour les tests paramétrés me donne l'erreur C3095 comme indiqué ci-dessous.
Des idées? J'utilise le dernier xUnit.net 1.6 avec Visual Studio 2008SP1.
using namespace Xunit;
using namespace Xunit::Extensions;
public ref class ParameterisedTestClass
{
public:
[Theory]
[InlineData("Kilroy", 6)]
// uncomment to cause c3095 [InlineData("Jones", 5)]
void PropTest(String^ msg, int msgLen)
{
Assert::Equal(msg->Length, msgLen);
}
};
l'équivalent en C# est bien
using Xunit;
using Xunit.Extensions;
public class ParameterisedTestClass
{
[Theory]
[InlineData("Kilroy", 6)]
[InlineData("Jones", 5)]
public void PropTest(String msg, int msgLen)
{
Assert.Equal(msg.Length, msgLen);
}
};
En utilisant ILDASM ou Reflector, quelle est la valeur de AttributeUsage de InlineDataAttribute? – Richard
@Richard: Voir ma réponse, qui lie au dernier code source. Ils n'ont pas changé depuis 2008. –
J'ai ouvert un bug ici: http://xunit.codeplex.com/workitem/9690 –