支持语言 & 测试指南

2020-04-06 (1 个月前)

coderlane 远程面试支持多种编程语言。它们中的许多语言已经预先安装了第三方库供您使用。如果您觉得缺少任何重要的库或设置,请随时给我们发送电子邮件

下面是所有支持语言列表,以及它们相关的详细信息。


JavaScriptpermalink

版本: Node v6

测试框架:Mocha

第三方包:async、mocha、expect、chai、should、karma、karma-mocha、karma-chai、bluebird、react、react-dom

基础代码与测试:

function Solution() {
  return "Hello World!";
}
const expect = require("chai").expect;
describe("Hello World", function() {
    it('should be Hello World', function() {
        expect(Solution()).to.equal('Hello World!');
    })
})

Rubypermalink

版本: Ruby v2.6

测试框架:rspec

第三方包:capybara、rails、rspec、rspec-its、rspec-rails、celluloid、eventmachine、faraday、jbuilder、faker、nokogiri、pry、sinatra、timecop、timers、webmock、algorithms

基础代码与测试:

def helloWorld
  "Hello World!"
end
describe "ruby test" do
it("should say hello") {
  expect(helloWorld).to eq('Hello World!')
}
end

Pythonpermalink

版本: Python v2.7/v3.4

测试框架:unittest

第三方包:numpy、pandas、scipy

def Solution():
  return "Hello World!"
class Test(unittest.TestCase):
  def test_hello(self):
    self.assertEqual(Solution(), "Hello World!")

Javapermalink

版本: Java v1.8

测试框架:JUnit

第三方包:无

基础代码与测试:

class Solution {
  public static String helloWorld(){
    return "Hello World!";
  }
}
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

public class MainTest {
  @Test
  public void testHelloWorld() {
    assertEquals("Hello World!", Solution.helloWorld());
  }
}

Cpermalink

版本: Clang 3.6/C11

测试框架:Criterion

第三方包:无

基础代码与测试:

int multiply(int a, int b ) {
  int m = a * b;
  return m;
}
#include <criterion/criterion.h>
int multiply(int,int);

Test(the_multiply_function, should_pass_the_tests) {
  cr_assert_eq(multiply(1, 1), 1);
  cr_assert_eq(multiply(2, 3), 6);
  cr_assert_eq(multiply(7, 0), 0);
}

Cpppermalink

版本: C++ v14

测试框架:Igloo

第三方包:无

基础代码与测试:

#include <string>

using namespace std;

string HelloWorld() {
  return "Hello World!";
}
Describe(basic_tests)
{
  It(should_hello_world)
  {
    Assert::That(HelloWorld(), Equals("Hello World!"));
  }
};

Gopermalink

版本: Go v1.10

测试框架:Ginkgo

第三方包:无

基础代码与测试:

package hello

func HelloWorld() string {
  return "Hello World!"
}
package hello_test
import (
  . "github.com/onsi/ginkgo"
  . "github.com/onsi/gomega"
  "coderlane/hello"
)
var _ = Describe("Go", func() {
  It("should say hello", func() {
    Expect(hello.HelloWorld()).To(Equal("Hello World!"))
  })
})

Rustpermalink

版本: Rust v1.15

测试框架:rust

第三方包:无

基础代码与测试:

fn hello() -> String {
  return String::from("Hello World!")
}
#[test]
fn hello_test() {
    assert_eq!(hello(), "Hello World!");
}

Erlangpermalink

版本: Erlang v1.0

测试框架:eunit

第三方包:无

基础代码与测试:

-module(solution).
-export([add/2]).
add(A, B) -> A + B.
-module(basic_tests).
-include_lib("eunit/include/eunit.hrl").
add_test_() ->
  {"Addition",
    {"add(1, 1)", ?_assertEqual(2, solution:add(1, 1))}}.

PHPpermalink

版本: PHP v7.0

测试框架:PHPUnit

第三方包:无

基础代码与测试:

function Solution() {
  return "Hello World!";
}
class MainTest extends TestCase {
  public function testHello() {
      $this->assertEquals(Solution(), "Hello World!");
  }
}

备注: 已默认增加<?php ?>标签在代码中无需再次增加