I am planning to use EMBER 1.0 RC, Do we require grunt version v0.4.0 ??
No, Grunt is not required to use Ember. You can simply download Ember and include it in your application.
Grunt is a build system that helps you organize your project and perform useful tasks, but is not required. You can create simple Ember applications without a build system, but build systems are extremely helpful and should be used for any serious projects.
Here is an example JSBin showing a simple Ember application that didn't require a build system: http://jsbin.com/ixupad/1/edit
Here is a good example of an Ember application that uses Grunt: https://github.com/trek/ember-todos-with-build-tools-tests-and-other-modern-conveniences
Related
I'm trying a React/Redux .NET core (2.0) web project in Visual Studio 2017. And I've installed font-awesome using npm. It's there and I can see it in the node_modules folder, but I'm not sure if the web project should see it automatically or if I have to drag it into my dist folder and edit my layout page to see it. I'm not against doing that, but as a VS programmer, I'm used to things being a bit more automatic mainly for the sake of package updates. I'm not really confortable editting the vendor.js or vendor-manifest.json files.
Anyone know what I'm doing wrong? (no guesses, please.)
I was looking for an answer to a similar question and came across FA's package specifically for React. They have some good instructions on this page.
I'm coming from a native iOS / Android development background and I'm trying to understand the tooling around Xamarin Unit Testing using the Command Line.
From my point of view there are two types of code that you want to Unit Test:
Plain Old C# Code - with no dependencies to any iOS / Android framework - so it shouldn't need an iOS / Android emulator to run on
Code that depends on iOS / Android frameworks that needs to run on a device / emulator
The official Xamarin documentation mentions NUnitLite / Touch.Unit but it doesn't mention any support around Command Line. I did found an example though, but it's not clear to me if this is a tool that's officially supported by Xamarin. Also it seems that you can run tests only on the emulator/device using that tool.
Another example I've found around refers to xUnit.net - it seems that you can also run tests without an emulator / device, and that you can also run them on an emulator / device - however in that specific blogpost it's not documented how you do that.
So my question is: How should I approach Xamarin Unit Testing and what tools do you recommend using so I can have Command Line support in my CI.
Thank you
The most popular unit testing frameworks used with Xamarin are NUnit and XUnit. They are both similar to JUnit.
Usually a Xamarin cross-platform app uses a Portable Class Library (PCL) project where the platform agnostic (shared) code sits: business logic, model, view models, service etc. This code is unit tested in a seperate pcl or.net45 test project which references the source project and nunit/xunit.
To run the nunit/xunit unit tests you need to run the corresponding test runner and point it tou your test assembly. Both nunit and xundit feature console runners which can be parameterized at will from your command line (see links).
Feel free to chose either nunit or xunit. I like them both.
You might also have platform specific unit tests (which depend on the android/ios/uwp sdks) and that have to be run on a device. These tests can also be created with nunit or xunit and run with nunit device runner or xunit device runner. Basically what will happen here is you add an android/ios app project for testing which references nunit/junit, contains your device specific tests and links to your shared tests and can run them both on the device.
There is also the layer of coded UI tests where NUnit, Xamarin UITest and Specflow might be of use. Im guessing this part is beyond the scope of your question.
But then again you are coming form Android and are used with gradle. Well Xamarin and .net does not have gradle but it has Cake. I use it to automate all my project builds/tests/ci/deployments etc.
Cake (C# Make) is a cross platform build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.
Your Cake script can look something like this:
Task("Run-Unit-Tests")
.IsDependentOn("Build")
.Does(() =>
{
NUnit("./src/**/bin/" + configuration + "/*.Tests.dll");
});
Task("Build")
.Does(() =>
{
DotNetBuild("YourAndroid.csproj");
DotNetBuild("YourCoreTests.csproj");
...
}
);
Cake comes with a bootstrapper file either (ps1 - powershell for windows or sh for mac) which downloads all the tools you need to run your script (cake itself, nuget, nunit/xunit runner etc).
Your command line/CI can run it like this:
./build.sh -Target Run-Unit-Tests
Unit testing in painful on Xamarin.
Don't have huge experience in Unit Testing mobile project, but if you want to test the app I would recommend this integration test approach:
1) For any calculation type functionality (you called it "Plain Old C#") use NUnit (it is supported by mono).
However I cannot come up with an example of such code, as heavy calculations should be done on server side. And there you do separate Unit tests
2) UITests(NUnit again) can be done to prove app is working and UI interaction call needed behavior.
Xamarin also providing TestCloud where app could be tested on many devices, but it is paid for Service. As Alternative you can setup build server like Jenkins to do this job for you.
Anyway - it is my view on how this could be done and hope it answered a bit on your question.
I am setting up a new project to play around with the CLR and mono versus .NET. As a build environment/tool I chose NAnt, because I am familiar with Ant and it seemed best suiting.
While this is working very nice on different machines with different OSs, I am worried that some day, while I develop on a Windows machine, gmcs may not be able to build my sources, making them unavailable to other platforms using mono. So my idea to get around this is telling NAnt to always use gmcs inside the <csc> task. Is there a way to set the build script up that way? Or another workaround for my problem?
You can select the desired compiler using the default attribute of the plateform element in the configuration file Nant.exe.config.
You can also choose at runtime by using the -t switch. In example :
nant -t:net-4.0 will use csc and will target the .NET framework 4.0
nant -t:mono-2.0 will use mcs and will target the .NET framework
2.0
I'm building a web application with compojure and Leiningen 2. Is there a way to automatically compile coffeescript into javascript like Ruby on Rails does with sprocket?
If your're familiar with the rails asset pipeline, take a look at Dieter (https://github.com/edgecase/dieter). It's ring middleware which allows for coffee, sass, less, haml, etc. compilation.
You won't need to watch or manually compile files every time.
https://github.com/vbauer/lein-coffeescript - A Leiningen plugin for running CoffeeScript compiler.
I wonder if someone has idea about next.
I'm developing for BlackBerry. IDEA doesn't recognize RIM installation as JSDK or Mobile SDK. So I have create project without SDK and attach RIM jar file as dependency.
I'm trying to write as much as possible unit test with JUnit and Mockito but to run them IDEA requires JSDK. So I created additional module where I set JSDK, correct language level and it works. It's already hassle to create additional module (better if we could set JSDK and other compiler, runtime options for code and tests) but I was quite happy.
I have also dependencies for some common libraries which we use in android and J2ME also. I added them as modules with JSDK 1.6 and language level 1.3. And I able to develop and run test on it also.
But I got issue with LEDA EAP. IDEA now complaints about incompatibility with java.lang because it found them both in RIM jar and JSDK for libraries. And now I'm thinking about next hassle to fix my favorite ide. Sure it's EAP and things could be changed.
But anyone has any recommendation or similar situation setup?