كيفية تشغيل اختبارات NUnit v2.4.8 مع الإصدار التجريبي NAnt 0.86؟

StackOverflow https://stackoverflow.com/questions/45415

  •  09-06-2019
  •  | 
  •  

سؤال

لقد حاولت مؤخرًا استخدام NAnt (الإصدار التجريبي 0.86.2962.0) لتشغيل بعض اختبارات الوحدات المجمعة باستخدام آخر إصدار ثابت من NUnit (الإصدار 2.4.8) دون أي نجاح.

الخطأ الذي أحصل عليه هو ما يلي:

[nunit2] لا يحتوي التجميع "C:\Dev\MySample\bin ests\My.Sample.Tests.dll" على أي اختبارات.

بالطبع، يحتوي التجميع على اختبارات يمكنني إجراؤها من أي عداء، مثل NUnit one أو TestDriven أو Resharper.أرغب في استخدام المهمة <nunit2>، وليس المهمة <exec> مباشرة، ولكنني أتساءل عما إذا كان لا يزال من الممكن، حتى استخدام ملفات app.config لربط إصدارات التجميع.

هل كانت مفيدة؟

المحلول

لا أستطيع أن أتذكر السبب، لكنني تخليت عن استخدام المهمة <nunit2> وكنت أستخدم المهمة <exec> وnunit-console.exe بسعادة.إذا كان ذلك مفيدًا، فإليك هدف الاختبار الذي يقوم بتشغيل NUnit وFxCop.لاحظ أنه يتخطى هذه الملفات إذا لم تكن الملفات التنفيذية موجودة في مسار Windows.

<target name="test" description="Run unit tests" depends="build">
  <property name="windows-path" value="${string::to-lower(environment::get-variable('PATH'))}"/>
  <property name="nunit-in-path"
      value="${string::contains(windows-path, 'nunit')}"/>
  <echo message="Tests skipped because no NUnit folder was found in the Windows path."
      unless="${nunit-in-path}"/>
  <exec program="nunit-console.exe" if="${nunit-in-path}">
      <arg file="../MyProject/MyProjectTest.nunit"/>
  </exec>
  <property name="fxcop-in-path"
      value="${string::contains(windows-path, 'fxcop')}"/>
  <echo message="FxCop skipped because no FxCop folder was found in the Windows path."
      unless="${fxcop-in-path}"/>
  <fxcop projectFile="../MyProject/MyProject.fxcop" directOutputToConsole="true" 
      failOnAnalysisError="true" if="${fxcop-in-path}"/>
</target>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top